我已经玩了一段时间编写 XPath,但无法完全想出我想要的东西。
我正在尝试根据已知文本(下面代码片段中的 myidentity)为链接(下面代码片段中的 click1 和 click2)编写 XPath。有人可以研究一下并提出可能的解决方案吗?
HTML 代码片段:
<div class="abc">
<a onclick="mycontroller.goto('xx','yy'); return false;" href="#">
<img src="images/controls/inheritance.gif"/>
</a>
myidentity
<span>
<a onclick="mycontroller.goto('xx','yy'); return false;" href="#">click1</a>
<a onclick="mycontroller.goto('xx','yy'); return false;" href="#">click2</a>
</span>
</div>
最佳答案
这里不需要使用 XPath,您可以使用 CSS 定位器。这些通常更快,并且在不同浏览器之间更兼容。
css=div:contains(myidentity) > span a:nth-child(1) //click1
css=div:contains(myidentity) > span a:nth-child(2) //click2
请注意,仅需要使用 >
来解决 Selenium 使用的 CSS 定位器库中的错误。
关于xpath - 尝试从此 HTML 片段创建 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596264/