Selenium on click site恢复到类似状态

2024-05-23 14:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用selenium抓取this站点。首先,我点击了吸引类型旁边的清除按钮。然后我点击了类别列表底部的more链接。现在,对于每个元素,我按id找到元素并单击链接。问题是,当我点击第一类户外活动时,网站又回到初始状态,当我试图点击下一个链接时,出现以下错误:

StaleElementReferenceException: Message: Element is no longer attached to the DOM

我的代码是:

^{pr2}$

Tags: id元素类型列表站点网站链接more
1条回答
网友
1楼 · 发布于 2024-05-23 14:28:35

特别是这个网站的问题是,每次你点击一个元素,DOM都会改变,所以你不能循环使用那些过时的元素。在

不久前我遇到了同样的问题,我用不同的窗口为每个链接解决了这个问题。在

您可以更改这部分代码:

divs = self.driver.find_elements_by_xpath('//div[contains(@id,"ATTR_CATEGORY")]')
for d in divs:
    d.find_element_by_tag_name('a').click()
    time.sleep(3)

用于:

^{pr2}$

相关问题 更多 >