首頁 >後端開發 >C++ >為什麼我的 Selenium WebDriverWait 被忽略,以及如何可靠地從動態元素中檢索文字?

為什麼我的 Selenium WebDriverWait 被忽略,以及如何可靠地從動態元素中檢索文字?

Patricia Arquette
Patricia Arquette原創
2024-12-31 09:01:10843瀏覽

Why is my Selenium WebDriverWait being ignored, and how can I reliably retrieve text from a dynamic element?

使用 WebDriverWait 等待元素

在 Selenium 中,使用 WebDriverWait 是處理可能不會立即出現的動態元素的一個關鍵方面在網頁上。但是,您遇到了一個問題,即嘗試從元素檢索文字時 WebDriverWait 似乎被忽略。

要修正此問題,您可以利用 SeleniumExtras.WaitHelpers 中的 ExpectedConditions.ElementIsVisible() 方法圖書館。此方法明確等待元素變得可見並可進行交互,然後再嘗試與其交互。

以下是包含ElementIsVisible() 方法的修改後的程式碼片段:

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");

透過使用這種方法,等待將不會被忽略,並且程式碼將在元素變得可見後來成功地從元素中檢索文字。

以上是為什麼我的 Selenium WebDriverWait 被忽略,以及如何可靠地從動態元素中檢索文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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