Javascript 如何在使用复选框后获得更新的DOM?

Javascript 如何在使用复选框后获得更新的DOM?,javascript,python,python-3.x,selenium,dom,Javascript,Python,Python 3.x,Selenium,Dom,我知道提问的标题很模糊。但让我们看看这一页: 这是韩国的一个公共数据页面,里面有我在研究中需要的数据。 正如你所看到的,它在ul中有一些复选框,如果你选中左边的复选框,右边的复选框列表就会出现 所以我编写了一个代码来检查每个组合,我将向您展示导致问题的组合 from selenium import webdriver driver = webdriver.Chrome(CHROMEDRIVER_LOCATION) driver.get('https://www.cleaneye.go.kr/u

我知道提问的标题很模糊。但让我们看看这一页:

这是韩国的一个公共数据页面,里面有我在研究中需要的数据。 正如你所看到的,它在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()
它给出ElementNotInteractiableException错误,可能是因为DOM在中单击复选框后没有修改

in_t.find_element_by_xpath("./label/input").click()
所以我搜索了如何解决这个问题,大多数答案都是关于使用隐式/显式等待。在此之前,我在click()之间放置了time.wait(30),但它仍然不起作用。因此,等待可能不是解决这个问题的办法

如你所见,如果你刷新它,整个页面将被重置,所以。。。这也不是问题的答案

有没有什么好的解决办法,或者有什么办法,请告诉我。 否则,我就用鼠标点击和键盘输入“tab”哈哈


感谢您对这个问题的关注

您的定位器不是唯一的,它查找屏幕上不可见的元素使用:

region_type = driver.find_elements_by_xpath("//div[@id='divSido']/ul/li[@class='rowon']")

对。有一些划船元素是不可执行的!!开枪,笨拙的我。谢谢你的搔痒回答!非常感谢:)