【问题标题】:How to stop loading Selenium chromeDriver if it loads for more than 10 sec?如果加载超过 10 秒,如何停止加载 Selenium chromeDriver?
【发布时间】:2023-03-22 15:43:01
【问题描述】:
有什么办法可以设置ChromeDriver的属性在时间超过10秒时停止加载?
类似于下面的伪代码:
WebDriver dr = new ChromeDriver();
dr.loadLimit(10 SECONDS);
PS implicit wait 不起作用,因为它等待 Chrome 响应,然后才开始计算 10 秒。
【问题讨论】:
标签:
selenium
load
selenium-chromedriver
【解决方案1】:
在 Python 中:driver.set_page_load_timeout(10)
【解决方案2】:
自 selenium chromedriver 2.1 版以来,它支持页面加载超时。在那个版本之前它丢失了。 (请参阅有关此here 的讨论)
这就是你在 Java 中的设置方式:
int pageLoadTimeout = 10;
driver.manage().timeouts().pageLoadTimeout(pageLoadTimeout, TimeUnit.SECONDS);
(参见webdriver spec 和selenium resources about this)
【解决方案3】:
对我有用
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time
desired_capabilities = DesiredCapabilities().CHROME
desired_capabilities['pageLoadStrategy'] = 'none'
d = webdriver.Chrome(desired_capabilities=spider.desired_capabilities)
d.get('http://www.google.com')
time.sleep(10)