為什麼 Selenium 中不建議使用「find_element_by_*」指令?

Patricia Arquette
發布: 2024-11-10 11:11:02
原創
261 人瀏覽過

Why are `find_element_by_*` Commands Deprecated in Selenium?

find_element_by_* 指令在 Selenium 中已棄用

在本文中,我們將解決為什麼在使用時遇到 DeprecationWarning「find_element_by_*命令已棄用」的問題硒蟒蛇

棄用警告

錯誤訊息意味著不再推薦使用find_element_by_* 命令,應該逐步淘汰,以支援更通用的find_element () 方法。引入此變更是為了簡化跨不同語言的 API。

要解決此問題,您必須將所有出現的 find_element_by_* 指令替換為 find_element( )。此外,您還需要包含以下匯入:

from selenium.webdriver.common.by import By
登入後複製

以下是如何取代已棄用的方法的範例:

使用 class_name:

# Deprecated
button = driver.find_element_by_class_name("quiz_button")

# New
button = driver.find_element(By.CLASS_NAME, "quiz_button")
登入後複製

同樣,您可以替換以下已棄用的方法:

  • id:By.ID
  • 名稱: By.NAME
  • link_text: By.LINK_TEXT
  • partial_link_text:By.PARTIAL_LINK_TEXT
  • >d : By.CSS_SELECTOR
  • xpath: By.XPATH
  • 注意:
  • 您也需要更新這些方法的複數形式(by find_elements_相同

其他資源

[升級到 Selenium 4](https://www.sqa.stackexchange.com/questions/60275/ selenium-navigate-vs-driver-get-in-selenium-4):本升級指南涵蓋了其他不相關的內容您可能會遇到的變更。

以上是為什麼 Selenium 中不建議使用「find_element_by_*」指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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