为 Selenium Web 自动化创建 XPath 表达式时最有用的轴方法是啥?

Posted

技术标签:

【中文标题】为 Selenium Web 自动化创建 XPath 表达式时最有用的轴方法是啥?【英文标题】:What are the most useful axes methods in creating XPath expressions for Selenium web automation?为 Selenium Web 自动化创建 XPath 表达式时最有用的轴方法是什么? 【发布时间】:2018-06-28 19:35:33 【问题描述】:

我对 Selenium 很陌生,而且我刚刚了解了 XPath 轴方法。在创建 XPath 表达式时使用这些方法我有点困惑。

最有用的坐标轴方法有哪些?

轴方法:

1. Ancestor
2. Parent
3. Child
4. Following-sibling
5. Preceding-sibling
6. Following
7. Preceding
8. Descendant, etc.

【问题讨论】:

检查seleniumeasy.com/selenium-tutorials/xpath-tutorial-for-selenium和w3schools.com/xml/xpath_axes.asp 【参考方案1】:

这是一个棘手的问题。所有的访问方法都有自己的目的。在我们检查的网页结构非常复杂之前,我们不会研究这些访问方法。

但是,即使在典型情况下,我们首先尝试使用简单的解决方案,在我的情况下,我首先尝试使用以下处理方法解决我的问题,即使在典型情况下也是如此,如果它仍然是最坏的情况,我会调查更多剩余的高级方法。

最后我尝试将 XPath 表达式写得尽可能小。

【讨论】:

谢谢拉贾..!可以在不使用索引的情况下为 web 表中的元素编写 xpath。我已经尝试过了,但不能,我的意图是避免在 xpath 创建中使用索引。如果可能的话,你能用一个例子来解释我吗?再次感谢 是的,你能给出一个场景吗?我可以根据您的情况向您解释 考虑一个场景,我只有一个基本的父和子 div 标签<div> <div></div> <div></div> <div></div> <div></div> <div></div> . . . 300 times </div> 我的意图是只选择第 150 次出现。当我们使用 xpath 在 DOM 中查找某些内容时,默认情况下只会返回第一次出现因此,为了获得确切的值,我们必须使用索引。对于我为了找到第 150 次出现而给出的标签。我将 xpath 编写如下:(//div/div)[150] 所以,索引很适合使用以获得更好的结果

以上是关于为 Selenium Web 自动化创建 XPath 表达式时最有用的轴方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

selenium java 怎么向右拖动

Python实战之Selenium自动化测试web刷新FW

Web自动化测试 四 ----- python selenium 八大元素定位

web端自动化测试以及工具selenium

(selenium+python)_UI自动化12_web UI自动化实例(以京东搜索加车为例)

测试工具利用Selenium自动化Web测试