【发布时间】:2021-06-03 16:36:28
【问题描述】:
我知道询问的标题很模糊。但是让我们检查一下这个页面: https://www.cleaneye.go.kr/user/gongsiCompare.do
所以这是韩国的公共数据页面之一,其中包含我在研究中需要的数据。 如您所见,它在 ul 中有一些复选框,如果您选中左侧的其中一个框,则会出现其右侧的复选框列表。
所以我编写了一个代码来检查每个组合,我会告诉你导致问题的那个。
from selenium import webdriver
driver = webdriver.Chrome(CHROMEDRIVER_LOCATION)
driver.get('https://www.cleaneye.go.kr/user/gongsiCompare.do')
in_type = driver.find_elements_by_xpath("//div[@id='divPcomp']/ul/li")
for in_t in in_type:
in_t.find_element_by_xpath("./label/input").click()
region_type = driver.find_elements_by_xpath("//div[@id='divSido']/ul/li")
for r_t in region_type:
r_t.find_element_by_xpath("./label/input").click()
问题是,当代码执行时
r_t.find_element_by_xpath("./label/input").click()
它给出了 ElementNotInteractableException 错误,可能是因为 DOM 在单击中的复选框后没有修改
in_t.find_element_by_xpath("./label/input").click()
所以我搜索了如何解决这个问题,大多数答案都是关于使用隐式/显式等待。在我这样做之前,我将 time.wait(30) 放在 click() 之间,但它仍然没有用。所以等待可能不是解决这个问题的办法。
如您所见,如果您刷新它,整个页面将被重置,所以......这也不是这个问题的答案。
有什么好的解决方法,或者有什么解决方法,请赐教。 否则,我就用鼠标点击和键盘输入'tab'哈哈...
感谢您关注这个问题!
【问题讨论】:
标签: javascript python python-3.x selenium dom