【发布时间】:2021-05-15 02:02:10
【问题描述】:
我在 Stackoverflow 上搜索了一段时间,现在试图为我的特定用例找到一个修复程序,因为我不时(不是一直)收到 StaleElementReferenceException 异常,但我发现似乎没有任何效果。
我正在尝试抓取页面并收集页面中的所有链接。
driver.get(SOME_URL)
links = driver.find_elements_by_tag_name('a')
for link in links:
href = link.get_attribute('href')
... DO_SOMETHING_WITH_HREF ...
我尝试过使用隐式等待并尝试让我的脚本休眠几秒钟,但两者都不起作用。我也一直在研究明确的等待,但我知道这些是不可能的,因为链接可能出现在页面上的任何地方。让它没有我等待的特定元素。
【问题讨论】:
-
收集所有的 href 值,然后使用它们。 links=[link.get_attribute('href') for link in driver.find_elements_by_tag_name('a')]。然后循环使用链接。您可能会转到另一个页面,并且您的元素链接将变得陈旧。
标签: python python-3.x selenium selenium-webdriver