C# 如何使用C增加Selenium webdriver中的代码执行时间限制#
当向网站请求数据时,网站正在花费时间加载 如果网站在60秒内加载,则一切正常。过了那个段时间,我就陷入了错误的境地 实际上,这段代码只执行60个部分C# 如何使用C增加Selenium webdriver中的代码执行时间限制#,c#,winforms,selenium,selenium-webdriver,C#,Winforms,Selenium,Selenium Webdriver,当向网站请求数据时,网站正在花费时间加载 如果网站在60秒内加载,则一切正常。过了那个段时间,我就陷入了错误的境地 实际上,这段代码只执行60个部分 this.driver.findelelement(By.CssSelector(“#btnLogin”)。单击() 如何设置驱动程序以等待此代码完全执行 谢谢您可以将页面加载等待时间增加到60秒以上(默认值),例如下面给出的70秒 driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds
this.driver.findelelement(By.CssSelector(“#btnLogin”)。单击()代码>
如何设置驱动程序以等待此代码完全执行
谢谢您可以将页面加载等待时间增加到60秒以上(默认值),例如下面给出的70秒
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(70);
有许多选项可以设置页面加载超时
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(90);
或
driver.Manage().Timeouts().ImplicitWait.Add(System.TimeSpan.FromSeconds(90));
driver.Manage().Timeouts().AsynchronousJavaScript.Add(90));
或
driver.Manage().Timeouts().PageLoad.Add(System.TimeSpan.FromSeconds(90));
或
driver.Manage().Timeouts().ImplicitWait.Add(System.TimeSpan.FromSeconds(90));
driver.Manage().Timeouts().AsynchronousJavaScript.Add(90));
更新-1
您可以尝试等待元素出现在新页面上(页面加载后显示页面)。编写一个自定义方法来查找超时元素,如下所示
public static class WebDriverExtensions
{
public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
{
if (timeoutInSeconds > 0)
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
return wait.Until(driver => driver.FindElement(by));
}
return driver.FindElement(by);
}
}
上述方法的用法:
driver.FindElement(By.CssSelector("#btnLogin"), 90);
我想增加那行代码的执行时间