某些文本前面的元素的XPath

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某些文本前面的元素的XPath相关的知识,希望对你有一定的参考价值。

试图找到此代码的XPath:

<a class="account-name" long-text="Sample Text" ng-
click="accountClick(account)" ng-href="sample URL" href="sample URL1">
<span>Plan Name</span></a>

我试过这个:

//span[text()='Plan Name']

它似乎没有起作用。

答案

对于这个html

<a class="account-name" long-text="Sample Text" ng-
click="accountClick(account)" ng-href="sample URL" href="sample URL1"/>
<span>Plan Name</span>

这个XPath,

//span[.="Plan Name"]/preceding-sibling::a[1]

将选择前面的a元素到span元素,其字符串值为"Plan Name"


对于这个HTML,

<a class="account-name" long-text="Sample Text" ng-
click="accountClick(account)" ng-href="sample URL" href="sample URL1">
  <span>Plan Name</span>
</a>

这个XPath,

//a[.="Plan Name"]

将选择所有a元素,其字符串值等于"Plan Name"

以上是关于某些文本前面的元素的XPath的主要内容,如果未能解决你的问题,请参考以下文章

Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element(代码片段

Appium之xpath定位元素

Appium之xpath定位详解

无法使用 xpath 解析来自某些 html 元素的某些信息

使用 XPath 查找最前面的元素

XPath根据兄弟/堂兄文本选择元素?