Selenium 中弃用 find_element_by_* 命令
在 Selenium 的最新版本中,find_element_by_* 命令已弃用。这意味着不应再使用这些命令,因为它们可能会在未来版本中删除。
弃用原因
此弃用是 Selenium 持续努力的一部分简化其跨不同语言的 API。通过删除 find_element_by_* 命令,Selenium 旨在提供更加一致和直观的 API。
解决方案
您应该使用 find_element 而不是使用 find_element_by_* 命令() 方法,它接受 By 对象作为其第一个参数。 By 对象指定搜索元素时要使用的定位器策略。
要使用 find_element() 方法,必须首先从 selenium.webdriver.common.by 模块导入 By 类。导入 By 类后,您可以通过指定定位器策略和定位器值来创建实例。
下面是如何用 find_element() 方法替换 find_element_by_class_name() 命令的示例:
from selenium.webdriver.common.by import By button = driver.find_element(By.CLASS_NAME, "quiz_button")
其他已弃用命令
除了 find_element_by_* 命令之外,还添加了以下命令已弃用:
这些命令也应该替换为相应的未弃用的命令同行。 Selenium 文档提供了有关如何替换这些已弃用命令的详细信息。
结论
find_element_by_ 命令的弃用是 Selenium API 中的一项重大更改。请务必注意此更改并开始使用 find_element() 方法而不是 find_element_by_ 命令。通过这样做,您将确保您的代码与 Selenium 的未来版本兼容并避免任何潜在的问题。
以上是为什么 Selenium 的“find_element_by_*”命令已被弃用,以及如何切换到新方法?的详细内容。更多信息请关注PHP中文网其他相关文章!