C# 如何使用C增加Selenium webdriver中的代码执行时间限制#

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

当向网站请求数据时,网站正在花费时间加载

如果网站在60秒内加载,则一切正常。过了那个段时间,我就陷入了错误的境地

实际上,这段代码只执行60个部分

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);

我想增加那行代码的执行时间