Skip to main content
 首页 » 编程设计

python之(Python)Selenium Webdriver 在获取新 url 后返回旧元素

2025年05月04日31lidabo

我有一个非常简单的过程,在一个循环中,我得到一个 url,使用 WebDriverWait 等待某些元素加载,然后开始处理页面源。

我遇到的问题是,如果我不在 driver.get(url) 之间添加显式等待时间,webdriver 似乎可以从旧页面而不是最新页面返回元素。如果我添加显式(例如 3 秒)或调用 driver.get(url) 两次,问题就会得到解决。

有没有人遇到过这个问题或知道如何解决?

谢谢。

请您参考如下方法:

实际上,我在使用 geckodriver 的 firefox 上遇到过这个问题,这是因为您通过单击旧元素加载了另一个页面。该驱动程序对象需要刷新。 重新加载遍历所需的页面对我有用,等待没有帮助。

driver.get(driver.current_url) 

编辑:Chrome 似乎没有这个问题,驱动程序可以直接从点击的页面访问元素。