Использовал сценарий selenium python для запуска сервера selenium для запуска кода JavaScript. Он работает нормально.Selenium Python bindings: как выполнить JavaScript на элементе?
drv.execute_script('<some js code>')
Однако, я не могу понять, как запустить код яваскрипта на элемент, который был извлечен с помощью get_element_by _ *() API. Например, я
ele = get_element_by_xpath('//button[@id="xyzw"]');
#question: how do I change the "style" attribute of the button element?
Если бы я был на разработчиков консоли браузера, я могу запустить его как
ele = $x('//button[@id="xyzw"]')[0]
ele.setAttribute("style", "color: yellow; border: 2px solid yellow;")
Просто не знаю, как это сделать в Python селеном сценария. Спасибо заранее.
Посмотрите на интерфейс [JavascriptExecutor] (https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/JavascriptExecutor.html) в 'Selenium'. – Brian
Спасибо @Brian за ссылку. Это для привязки Java, тем не менее, это заставляет меня понять, что означает «аргументы» в рабочем решении «... arguments [0] .setAttribute (....)». Он используется javascript для ссылки на параметр функции (esp, когда число параметров для переменной является переменной). – packetie
Нет проблем. Я люблю делиться знаниями. – Brian