我使用chrome驱动程序将文件上传到远程服务器,此过程有时需要照常超过30分钟。我将页面加载超时值设置如下。
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(3600); // 1 hour (C#)
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
但是当我开始上传过程时,chromedriver等待最多10分钟才放弃说它没有得到渲染器的任何响应。 有没有办法增加这个内置的超时值(10分钟)。
答案 0 :(得分:1)
试试这样
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.MINUTES)
;
答案 1 :(得分:0)
您在问题中提到使用Chrome驱动程序将文件上传到远程服务器,此过程有时需要超过30分钟并且您尝试增加页面加载超时值如下:
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(3600);
首先 ChromeDriver 和 Chrome 组合尚未 W3C投诉 因此您可能会遇到与被覆盖的配置的一些偏差。比较 GeckoDriver 似乎更多 W3C投诉 ,以下是一些细节:
在默认配置中启动时,GeckoDriver 设置以下超时:
implicit
: 0 pageLoad
: 300000 script
: 30000 现在,在准备自动化脚本时,您可以覆盖每个超时的默认配置,这些配置将适用于 WebDriver的整个生命周期实例,就像你在代码块中所做的那样:
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(3600);
根据当前WebDriver W3C Candidate Recommendation,每个超时的值可以延长至the maximum safe integer。
The value of Number.MAX_SAFE_INTEGER is 9007199254740991 (2(pow)53−1).
注意:增加 页面加载超时值 以等待将文件上传到远程服务器不会成为<的一部分em>最佳编程实践。相反,您必须创建一个逻辑,以确定文件上载的完成情况。但是这个话题超出了这个问题的范围。