Как выполнить JavaScript в веб-драйвере Python - PullRequest
0 голосов
/ 16 февраля 2012

Веб-драйвер Selenium 2 Python:

Я пытался щелкнуть по элементу, который скрыт из-за эффекта наведения мыши, и искал варианты, чтобы отобразить и выбрать элемент.Чтобы сделать это, я сослался на несколько примеров, подобных ниже:

В java:

JavascriptExecutor je = (JavascriptExecutor) webDriver();

Другой пример:

browser.execute_script("document.getElementsByClassName('classname').style.display='block'")

Когда я запустил приведенный выше пример, яполучил следующее исключение:

selenium.common.exceptions.WebDriverException: Message: '' 

Я не уверен, что мне нужно было включать какой-либо класс для выполнения JavaScript.Пожалуйста, дайте мне знать, если мне что-то не хватает.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Это потому, что getElementsByClassName возвращает массив элементов DOM. Если вам нужен первый доступ, измените JS на document.getElementsByClassName('classname')[0].style.display='block'

1 голос
/ 08 июня 2016

Я использую приведенную ниже команду в python, чтобы щелкнуть по скрытому элементу

element=driver.find_element_by_xpath("//div[2]/div/div[2]/div[1]") 
driver.execute_script("arguments[0].click();", element)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...