首頁 >後端開發 >C++ >為什麼我的 WebDriverWait 在不調試的情況下運行時似乎被忽略了?

為什麼我的 WebDriverWait 在不調試的情況下運行時似乎被忽略了?

Linda Hamilton
Linda Hamilton原創
2025-01-03 19:55:40784瀏覽

Why Does My WebDriverWait Seem to Be Ignored When Running Without Debugging?

WebDriver.Wait 不等待指定元素

查詢:

查詢:

我的程式碼嘗試等待檢索其文字內容之前元素的外觀。單步執行程式碼時,它可以正常運作。然而,當沒有斷點運行時,等待似乎被繞過並引發異常。 為什麼等待被忽略?

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement message = wait.Until(driver => driver.FindElement(By.ClassName("block-ui-message")));
string messageText = message.Text;

程式碼片段:

回覆:
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");

另一個選擇方法是將 WebDriveleVisible方法與修改後的定位器策略結合使用:

將DotNetSeleniumExtras.WaitHelpers 與NuGet 結合使用:
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
如果使用SeleniumExtras 和SeleniumExtras 程式碼可以修改為如下:

以上是為什麼我的 WebDriverWait 在不調試的情況下運行時似乎被忽略了?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn