我有一个非常简单的过程,在一个循环中,我得到一个 url,使用 WebDriverWait 等待某些元素加载,然后开始处理页面源。
我遇到的问题是,如果我不在 driver.get(url) 之间添加显式等待时间,webdriver 似乎可以从旧页面而不是最新页面返回元素。如果我添加显式(例如 3 秒)或调用 driver.get(url) 两次,问题就会得到解决。
有没有人遇到过这个问题或知道如何解决?
谢谢。
请您参考如下方法:
实际上,我在使用 geckodriver 的 firefox 上遇到过这个问题,这是因为您通过单击旧元素加载了另一个页面。该驱动程序对象需要刷新。 重新加载遍历所需的页面对我有用,等待没有帮助。
driver.get(driver.current_url)
编辑:Chrome 似乎没有这个问题,驱动程序可以直接从点击的页面访问元素。
