【发布时间】:2019-03-08 00:05:55
【问题描述】:
也可以使用 xpath 来识别具有唯一 id/name 的 Web 元素。那么使用 By.id/By.name 比 By.xpath 有什么优势。考虑以下示例。下面是一个网络元素。
<input id="abc" name="abc" xpath="abc">
这个网页元素可以被识别为:
By.id("abc");By.name("abc");By.xpath(".//*[@id='abc']); or By.xpath(".//*[@name='abc']);
我想知道使用 1. 或 2. 比 3. 有什么优势?
【问题讨论】:
-
不要假设
id是唯一的。这不是 RealLife™ -
“具有唯一 ID/名称的 Web 元素...”。请注意,
@id应该是唯一的(尽管并非总是如此),@name不应该是唯一的! -
世界上有 RFC/w3c 的事情和一些不关心任何事情的人
-
标记为 dup 的讨论和答案并没有真正为这个问题提供详细的规范答案。重新打开它。
标签: selenium selenium-webdriver xpath