不同资源上Selenium语法差异 - 为什么会这样
我一直在使用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')
方法。