Selenium 2 Python webdriver:
我试图点击由于悬停效果而隐藏的元素,并且正在寻找取消隐藏并能够选择元素的选项。为此,我提到了一些如下例子:
在java中:
JavascriptExecutor je = (JavascriptExecutor) webDriver();
另一个例子:
browser.execute_script("document.getElementsByClassName('classname').style.display='block'")
当我运行上面的例子时,我得到以下异常:
selenium.common.exceptions.WebDriverException: Message: ''
我不确定是否必须包含任何类来执行javascript。如果有任何遗漏,请告诉我。
答案 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)