selenium 当页面加载策略设置为无时,Web驱动程序等待不起作用

pu82cl6c  于 2023-01-20  发布在  其他
关注(0)|答案(2)|浏览(125)

** selenium 版本:4.7.2缔约方会议**

我只想等待特定的页面加载,所以我想禁用驱动程序页面加载策略的默认行为。
我用下面的代码禁用它。

options = webdriver.ChromeOptions()
options.page_load_strategy = "none"

现在,对于要等待加载的页面,使用以下代码。

WebDriverWait(web, seconds).until(
    lambda _: web.execute_script("return document.readyState") == "complete"
)

问题是当page_load_strategynone时,* 等待代码 * 不起作用,即它不等待页面readyState成为complete

jfgube3f

jfgube3f1#

按照official Selenium documentation
页面加载策略查询文档。readyState

看起来,当您将驱动程序功能/选项设置为 ignore web page document.readyState state时,这超过了您尝试在此处使用相同参数 document.readyState 应用的代码

pbgvytdp

pbgvytdp2#

传递给***until()***的 lambda 表达式似乎容易出错。您可以尝试以下代码行:

WebDriverWait(driver, 20).until(lambda driver: driver.execute_script('return document.readyState') == 'complete')

相关问题