&引用;ElementNotInteractiableException“;在尝试单击以前隐藏的div中的元素时,seleniumpython
我正在用selenium驱动程序和python编写一个测试用例 单击按钮后,当前可见的一个div(单击的按钮的上下文)将隐藏,而先前隐藏的另一个div将可见,其中包含一些需要单击以继续流程的按钮 selenium检测到secound div及其内部元素可见,但当我尝试单击按钮时,出现异常 在第二个div中还有一个包含一些复选框的表,我甚至可以打印checkbox元素,但不能单击它&引用;ElementNotInteractiableException“;在尝试单击以前隐藏的div中的元素时,seleniumpython,python,selenium,Python,Selenium,我正在用selenium驱动程序和python编写一个测试用例 单击按钮后,当前可见的一个div(单击的按钮的上下文)将隐藏,而先前隐藏的另一个div将可见,其中包含一些需要单击以继续流程的按钮 selenium检测到secound div及其内部元素可见,但当我尝试单击按钮时,出现异常 在第二个div中还有一个包含一些复选框的表,我甚至可以打印checkbox元素,但不能单击它 # Espera hasta que se encuentre visible el panel para sele
# Espera hasta que se encuentre visible el panel para selecciona sucursales visibles
try:
sucursalsTable = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.ID , 'sucursals-table')))
except TimeoutException:
print "Error al intentar seleccionar sucursales visibles"
tbody = sucursalsTable.find_element_by_tag_name("tbody")
rows = tbody.find_elements_by_tag_name("tr")
for row in rows:
cells = row.find_elements_by_tag_name("td")
checbox = cells[0].find_element_by_xpath("(//input[@type='checkbox'])") # la primera columna
print checbox
checbox.click()
pass
赛后
HTML
id=“Sucursals panel”是第二个div
当我尝试单击第二个div中的按钮时,也会出现相同的异常
如果有人能帮我解决这个问题,我将不胜感激。我也遇到了类似的问题。 此按钮一直隐藏,直到窗体出现问题。 所以我伪造了一个问题,我可以在页面代码中找到按钮。 但当我尝试单击它时,使用以下代码:
driver.find_element_by_class_name('btn_ok_alert').click()
我得到元素不可交互异常。。。
在浏览页面代码很长一段时间后,我发现有两个按钮同名,第一个按钮仍然隐藏着
我找到的解决方案是使用multiple elements search方法,该方法为您提供了一个处理它的索引:
elem = driver.find_elements_by_class_name('btn_ok_alert')
elem[1].click()
这是因为对驱动程序的搜索从页面顶部开始,首先会找到仍然隐藏的按钮(出于其他目的)。
如果我想点击第一个,它会像:
elem[0].click()
该脚本的可能副本在chrome和IE浏览器上运行良好,但在Mozilla firefox中运行不好。使用firefox 46.01、selenium 2.53.1和geckodriver 0.14也存在类似的问题