簡體   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