gpt4 book ai didi

python - "ElementNotInteractableException"尝试单击先前隐藏的 div、selenium python 内的元素

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:38 26 4
gpt4 key购买 nike

我正在使用 selenium 驱动程序和 python 编写一个测试用例,

单击按钮后,当前可见的一个 div(单击的按钮的内容)将被隐藏,而先前隐藏的其他 div 将变得可见,其中包含一些需要单击才能继续流程的按钮

selenium 检测到第二个 div 及其内部元素可见,但是当我尝试单击按钮时,会引发异常

第二个div里面也是一个包含一些复选框的表格,我什至可以打印复选框元素但无法单击它

# 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

运行后

Pyhon Code

HTML

Html Code

id="Sucursals-panel"是第二个 div

当我尝试单击第二个 div 内的按钮时,会引发相同的异常

如果有人能帮我解决这个问题,我将非常感激

最佳答案

我也遇到了类似的问题。此按钮将保持隐藏状态,直到表单出现问题为止。所以我伪造了一个问题,我可以在视觉上和页面代码内部找到该按钮。但是当我尝试单击它时,使用以下代码:

driver.find_element_by_class_name('btn_ok_alert').click()

我收到元素不可交互异常...扫了半天页面代码,发现是两个同名的按钮,第一个还是隐藏的。

我找到的解决方案是使用多元素搜索方法,该方法为您提供处理它的索引:

elem = driver.find_elements_by_class_name('btn_ok_alert')
elem[1].click()

发生这种情况是因为驱动程序的搜索从页面顶部开始,并且会首先找到仍然隐藏的按钮(出于其他目的)。如果我想点击第一个,它会是这样的:

elem[0].click()

关于python - "ElementNotInteractableException"尝试单击先前隐藏的 div、selenium python 内的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47512765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com