如何在Python webdriver中执行javascript

时间:2012-02-15 23:13:36

标签: javascript python selenium webdriver

Selenium 2 Python webdriver:

我试图点击由于悬停效果而隐藏的元素,并且正在寻找取消隐藏并能够选择元素的选项。为此,我提到了一些如下例子:

在java中:

JavascriptExecutor je = (JavascriptExecutor) webDriver();

另一个例子:

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

当我运行上面的例子时,我得到以下异常:

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

我不确定是否必须包含任何类来执行javascript。如果有任何遗漏,请告诉我。

2 个答案:

答案 0 :(得分:2)

这是因为getElementsByClassName返回DOM元素数组。如果您需要访问第一个,请将JS更改为document.getElementsByClassName('classname')[0].style.display='block'

答案 1 :(得分:1)

我在python中使用下面的命令来点击隐藏的元素

element=driver.find_element_by_xpath("//div[2]/div/div[2]/div[1]") 
driver.execute_script("arguments[0].click();", element)