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

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

Linda Hamilton
發布: 2025-01-03 19:55:40
原創
752 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板