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中文网其他相关文章!