繁体   English   中英

Selenium C#,WebDriverWait超时

[英]Selenium C#, WebDriverWait timeout

我编写了一个控制台应用程序(Visual Studio 2013,C#)来用硒测试我的网站。

这是我的代码

    public static void Main(string[] args)
    {
        IWebDriver driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("myUrl");

        WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(40));
        wait.Until(ExpectedConditions.ElementExists(By.Id("wsConnected")));

        driver.Quit();
    }

wsConnected是我在页面加载后(不到10秒)使用jquery在页面中放入的div。

我正在将Selenium 2.46.0与Firefox v39.0一起使用

当然,这是行不通的,因为我在60秒后收到驱动程序超时错误,我们将不胜感激。

谢谢亚历山德罗

[UPDATE] wait.Until失败,发生以下异常:WebDriver.Support.dll中发生了类型为'OpenQA.Selenium.WebDriverException'的未处理异常。 附加信息:60秒后,对远程WebDriver服务器的URL http:// localhost:7056 / hub / session / 86847fde-462b-47be-85e1-31cd51791dc3 / element的HTTP请求超时。

[更新2]我将Selenium降级为2.43,将Firefox降级为v32,无超时,无尽的等待

尽量避免使用ExpectedConditions。
错误原因将更加清楚。
下一个代码已使用最新版本的硒(来自nuget软件包的硒支持类2.48.2和WebDriver 2.48.2)进行了测试。 即使元素在10秒钟内可见,它也可以正常工作。

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://www.google.ru/");
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(40));
wait.Until(d => d.FindElement(By.Id("logocont")));
driver.Quit();

如果没有帮助,请提供超时异常的内部异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM