我需要不断地重新加载网页尽快检查,如果有什么改变。但当我尝试下面的方法时,它不起作用
我用了这样的方法:
while True:
driver.get(driver.getCurrentUrl())
source = driver.page_source
-- checking for change --
当使用Edge webdriver(它是最快的一个)时,但是当更改已经发生时,webdriver仍然获得页面的旧版本
我不知道驱动程序是否可以将页面保存在缓存中,但我需要确保,我将始终获得当前版本。我怎样才能做到这一点
Tags:
在拉出
page_source
以检查更改之前,再次在getCurrentUrl()
上调用get()
方法时,值得一提的是,尽管WebClient可能在某个阶段实现了'document.readyState'等于“complete”,并且Selenium获得了一个控件,该控件不能保证新页面上所有相关的Javascript和Ajax调用都已完成。除非与DOM树关联的Javascript和Ajax调用完成,否则页面不会完全呈现,您可能无法跟踪预期的更改检查变化的理想方法是将WebDriverWait与expected_conditions子句结合起来设置为title_contains,如下所示:
注意:虽然页面标题位于HTML DOM的
<head>
标记中,但更好的解决方案是为WebDriverWait引入一个元素的可见性,该元素将出现在DOM Tree的<body>
标记中的所有情况中,如下所示:相关问题 更多 >
编程相关推荐