Python Selenium 获取页面源代码中的所有元素。driver.find_elements(By.XPATH, “//*”)

Python Selenium get all elements in page source. driver.find_elements(By.XPATH, "//*")

提问人:Arman Avetisyan 提问时间:5/8/2022 更新时间:5/8/2022 访问量:283

问:

我正在尝试使用以下代码获取page_source中的所有 HTML 标签

driver.find_elements(By.XPATH, "//*")

大多数情况下,它按预期工作,但对于某些后排情况(可能在更大的page_sources中),它会悬挂并上升到异常以下

Message: stale element reference: element is not attached to the page document

对于如何修复此命令或其他等效命令以在page_source中获取所有 HTML 元素,您有什么建议吗? 事先谢谢你。

python selenium chrome-web-driver

评论


答:

0赞 Arman Avetisyan 5/8/2022 #1

发现问题。 页面完全加载后,JS 会删除某些元素。解决方案是在遍历每个元素时添加一个 try/except 块,因为它可能会在页面完全加载后被删除。我希望这是有道理的。