某些文本前面的元素的XPath

时间:2018-03-01 12:35:49

标签: html xml xpath selenium-webdriver

尝试为此代码找到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']

它似乎没有用。

1 个答案:

答案 0 :(得分:1)

对于此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"元素。