【发布时间】:2018-06-30 08:15:27
【问题描述】:
official W3c webdirver documentation中明确指出定位策略是:
State Keyword
CSS selector "css selector"
Link text selector "link text"
Partial link text selector "partial link text"
Tag name "tag name"
XPath selector "xpath"
但是,Selenium's wire protocol 允许:
class name
css selector
id
name
link text
partial link text
tag name
xpath
在 THEORY 中,Selenium 的文档已经过时,“真实”的故事在新的规范文档中。不过……
我对最新的 Chrome 自己的 Webdriver 进行了一些测试,我可以确认 name 和 class name 都可以工作;但是,它们不在规格中。
我记得读过一个 Chromium 问题,他们只会实现官方 Webdriver 规范。
现在:我知道通用答案,其中“规格并不总是 100% 遵循”等。但是,我想知道的是:
- 您能在 Chromium 中找到实现此功能的代码吗? (欢迎提供链接)
- Chromium 邮件列表中是否讨论过这些问题?
- “非官方”命令(记录在“旧”硒规范文件中)是否可能保留?你在哪里读到的?
【问题讨论】:
-
Chrome 驱动程序代码位于页面上这些链接的某处 - sites.google.com/a/chromium.org/chromedriver/contributing。更多信息将有助于解释这种差异——github.com/mozilla/geckodriver/issues/1041。
标签: javascript google-chrome selenium chromium chrome-web-driver