下面是我正在处理的应用程序的html:
<td class="ui-selection-column" ng-reflect-ng-class="[object Object]" ng-reflect-ng-style="[object Object]" style="width: 38px; display: table-cell;">
<td ng-reflect-ng-class="[object Object]" style="display: table-cell;">
<span class="ui-column-title">NAME</span>
<span class="ui-cell-data">Name1</span>
</td>
我能够编写 xpath 来使用 text()=Name1 在 td 元素中选择跨度。
//td[@style='display: table-cell;']/span[text()='Name1']
现在,如何在与较低的 td 元素的上下文中选择上面的第一个 td 元素。我在 Xpath 下面写了选择 td 元素的前兄弟姐妹,但不起作用。
//td[@style='display: table-cell;']/span[text()='VendorContact_Name1']/preceding-sibling::td[@class='ui-selection-column']
我错过了什么吗?有什么建议吗?
这是
根据你的第一个xpath:
//td[@style='display: table-cell;']/span[text()='Name1']/../preceding-sibling::td[@class='ui-selection-column'][1]
因为在 XPath 中您正在选择一个span
节点,而不是 td
,如果要选择包含span
的td
,它将如下所示:
//td[@style='display: table-cell;' and span[text()='Name1']]/preceding-sibling::td[@class='ui-selection-column'][1]