不同资源上Selenium语法差异 - 为什么会这样

-1 投票
1 回答
33 浏览
提问于 2025-04-13 02:57

我一直在使用Selenium,并查阅了各种帮助资源来解决错误。我发现有时候,定位器的语法会有一些细微的差别。

这是我目前使用的语法。

driver.find_element(By.ID, "id")

但我有时也看到有人使用这种语法:

driver.find_element_by_id("id")

你能帮我解释一下它们之间的区别吗?

我使用的是以下语法,但我很好奇为什么还有其他不同的语法。

driver.find_element(By.ID, "id")

1 个回答

1

Selenium的文档分散且不同版本之间不一致

因为Selenium是开源的,所以很多文档、文章、示例等,往往会根据当时可用的版本引用不同的语法。

GeeksForGeeks上的查找选择器是在2022年发布的。

find_element_by_ 方法在2022年的Selenium v4.3版本中被弃用了:https://github.com/SeleniumHQ/selenium/pull/10712

目前我们使用的是Selenium v4.18

要查看官方的API文档,可以访问这里,选择你正在使用的webdriver,就能找到与之相关的所有方法。

例如,这里是你可以找到所有selenium.webdriver.chrome.webdriver方法的地方,特别是你提到的find_element(By.ID, 'foo')方法。

撰写回答