首頁 >後端開發 >Python教學 >為什麼我的 Selenium getText() 方法在使用類別名稱定位器時會拋出錯誤?

為什麼我的 Selenium getText() 方法在使用類別名稱定位器時會拋出錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 06:35:30197瀏覽

Why is my Selenium getText() method throwing an error when using a class name locator?

疑難排解:在Python 中使用Selenium WebDriver 擷取文字

問題:

問題:

嘗試從Web 元素中擷取文字時使用Selenium WebDriver 的getText() 方法,您在使用類別名稱定位器時收到錯誤。此錯誤源自於網頁重新載入時動態 ID 發生變化,導致 By.CLASS_NAME 定位器不可靠。

<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>

HTML 片段:

<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>

Python代碼:

解決方案:
<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>

要解決此問題,請透過刪除無關的getText("my text") 參數來簡化程式碼:

說明:getText() 方法傳回指定網頁元素的文字內容。在這種情況下,類別名稱定位器標識正確的元素,並且文字屬性會檢索其文字內容。嘗試將預期文字指定為 getText() 的第二個參數是不必要的,並且可能會導致混亂。

以上是為什麼我的 Selenium getText() 方法在使用類別名稱定位器時會拋出錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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