首頁  >  文章  >  後端開發  >  為什麼 Selenium Python 函式庫中不建議使用 find_element_by_* 指令?

為什麼 Selenium Python 函式庫中不建議使用 find_element_by_* 指令?

Barbara Streisand
Barbara Streisand原創
2024-11-10 11:32:02794瀏覽

Why are find_element_by_* commands deprecated in Selenium Python libraries?

Selenium 中棄用 find_element_by_* 指令

早期版本的 Selenium Python 函式庫支援使用 find_element_by_* 指令。然而,在最近的版本中,這些命令已被棄用。

錯誤訊息:

在最新的Selenium Python 函式庫中使用find_element_by_* 指令時,您可能會遇到以下情況錯誤訊息:

DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead

原因棄用:

棄用find_element_by_* 指令的決定源自於簡化不同語言之間的Selenium API 的目標。

解決方案:

要解決此問題,您應該改用 find_element() 方法而不是find_element_by_* 命令。

# Previous code
button = driver.find_element_by_class_name("quiz_button")

# Updated code
from selenium.webdriver.common.by import By

button = driver.find_element(By.CLASS_NAME, "quiz_button")

附加說明:

類似地,您需要更新其他find_element_by_* 指令,如下圖:

Old Command New Command
find_element_by_id() find_element(By.ID, ...)
find_element_by_name() find_element(By.NAME, ...)
find_element_by_link_text() find_element(By.LINK_TEXT, ...)
find_element_by_partial_link_text() find_element(By.PARTIAL_LINK_TEXT, ...)
find_element_by_tag_name() find_element(By.TAG_NAME, ...)
find_element_by_css_selector() find_element(By.CSS_SELECTOR, ...)
find_element_by_xpath() find_element(By.XPATH, ...)

注意:

您也應該更新複數版本(find_elements_by_*) 相應地。

升級到 Selenium 4 時,請參閱 Selenium 升級指南,以了解有關此變更和其他變更的更多資訊。

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

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