gpt4 book ai didi

python - 在 Selenium Python 绑定(bind)中设置页面加载超时

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:23 24 4
gpt4 key购买 nike

我正在使用 Python 和 Selenium 模块编写一个机器人。当我用我的机器人打开一个网页时,由于该网页包含比 dom 太多的外部源,加载所有页面需要很多时间。我使用显式和隐式等待来消除这个问题,因为我只是想加载一个特定的元素而不是整个网页,它没有用。问题是如果我运行以下语句:

driver = webdriver.Firefox()
driver.get('somewebpage')
elm = WebDriverWait(driver, 5).until(ExpectedConditions.presence_of_element_located((By.ID, 'someelementID'))


elm.click()

它不起作用,因为 Selenium 等待 driver.get() 完全检索网页,然后继续进行。现在我想写一段代码为 driver.get() 设置超时,比如:

driver.get('somewebpage').timeout(5)

driver.get() 在 5 秒后停止加载页面并且程序流程继续进行,无论 driver.get() 是否完全加载网页。

顺便说一句,我已经搜索了我上面说的功能,并在那里找到了:

Selenium WebDriver go to page without waiting for page load

但问题是上面链接中的答案并没有说明 Python 等效代码。

我如何实现我正在寻找的 future ?

最佳答案

python 当前问题 ( Selenium WebDriver go to page without waiting for page load ) 中提到的问题的等效代码:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference('webdriver.load.strategy', 'unstable')
driver = webdriver.Firefox(profile)

和:

driver.set_page_load_timeout(5)

关于python - 在 Selenium Python 绑定(bind)中设置页面加载超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32276654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com