首頁 > 後端開發 > Python教學 > 如何從 Selenium WebDriver 中動態變化的 HTML 元素中檢索文字?

如何從 Selenium WebDriver 中動態變化的 HTML 元素中檢索文字?

Linda Hamilton
發布: 2024-11-03 04:36:03
原創
1016 人瀏覽過

How to Retrieve Text from Dynamically Changing HTML Elements in Selenium WebDriver?

在Python 中使用Selenium WebDriver 存取文字元素

在使用Selenium WebDriver 的Web 自動化中,從HTML 元素中檢索文字內容至關重要。但是,當元素的 ID 在頁面重新載入時動態變更時,可能會出現問題,如圖所示的情況。

原始程式碼

提供的原始程式碼:

text = driver.find_element_by_class_name("current-stage").getText("my text")
登入後複製

嘗試透過類別名稱「current-stage」定位元素並擷取其文本,定位元素並擷取其文本,該文本預計為“我的文本”。

HTML 結構

提供的HTML 結構顯示了類別名稱為「current-text」和動態ID 的文字元素,如下所示:

<span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span>
登入後複製

問題

原始程式碼的問題與XPath 無關,而是與getText 方法的誤用有關。將參數傳遞給 getText 嘗試設定元素的文本,而不是檢索它。

正確的方法

從元素中提取文字的正確方法是使用不帶任何參數的getText,如下所示:

text = driver.find_element_by_class_name("current-stage").getText()
登入後複製

此程式碼將檢索元素的文字內容並將其儲存在文字變數中。

驗證結果

您可以使用assertEqual 方法來驗證檢索到的文本,而不是將預期的文本傳遞給getText 方法,如下所示:

expected_text = "my text"
actual_text = driver.find_element_by_class_name("current-stage").getText()
self.assertEqual(expected_text, actual_text)
登入後複製

此方法可確保擷取的文字符合預期值。

以上是如何從 Selenium WebDriver 中動態變化的 HTML 元素中檢索文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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