繁体   English   中英

Selenium (Python) 中的 StaleElementReferenceException

[英]StaleElementReferenceException in Selenium (Python)

url="https://www.pla...com"
browser=Chrome(executable_path='chromedriver')
browser.get(url)
components=browser.find_elements_by_css_selector('.files-new a')
for i in components:
   print(i.get_attribute("href")) 
   browser.get(i.get_attribute("href"))

我正在收集链接并尝试遍历它们。 但是在第二个循环中,我得到了 StaleElementReference 错误。 find_elements不应该存储和保留链接吗? 有什么想法可以帮忙吗?

在循环中调用 browser.get() 后,您现在位于新页面上,因此 [components] 变量中的所有“元素对象”都是陈旧的。

解决方案:在开始循环之前,将 [components] 中的所有“href”值收集到一个字符串列表中。 然后,在您的循环中,从该列表中读取您的 href,而不是从 [components] 中的陈旧元素对象中读取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM