java - 使用绝对 XPath 来定位元素是一个好习惯吗?如果没有,还有其他有效的方法来定位元素吗?

标签 java selenium selenium-webdriver

我正在使用 Selenium Webdriver 和 Java 进行自动化工作。为了定位元素,我使用 XPath。这是一个好的做法吗?

最佳答案

绝对 XPath

绝对 XPath 以根节点或正斜杠 (/) 开头。 使用绝对的优点是,它可以非常快速地识别元素。 这里的缺点是,如果出现任何问题或中间添加了其他标签,那么这条路径将不再有效。

示例: 如果我们定义的 Path 为

html/head/body/table/tbody/tr/th

相对 Xpath

相对 xpath 是路径从您选择的节点开始的路径 - 它不需要从根节点开始。

以双正斜杠(//)开头

语法:

//table/tbody/tr/th

使用相对xpath的优点是,你不需要提到很长的xpath,你可以从中间或中间开始。

这里的缺点是,由于我们指定了部分路径而不是(精确路径),因此需要更多时间来识别元素。

关于java - 使用绝对 XPath 来定位元素是一个好习惯吗?如果没有,还有其他有效的方法来定位元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620562/

相关文章:

java - TestNG 没有执行套件中的所有测试类

java - Jackson - 使用注释将第一个数组成员绑定(bind)到对象

java - Tomcat服务器欢迎页面返回所请求的资源不可用

javascript - 如何使用 selenium 获取所有元素的直接子元素和 css 选择器?

firefox - 通过 webdriver 控制 Firefox 的最佳方法

java - 为什么在静态方法中引用字段时不能使用关键字 "this"?

css - 如何使用 Protractor 或 Selenium 测试@media 打印?

java - 如何在selenium中找到具有相同名称和相同属性的元素并插入一些文本

python - 如何使用两个变量迭代 xpath?

java - 运行 Selenium ant build - ClassNotFound(简单测试)