HTML xpath选择父元素的前一个兄弟

时间:2017-01-25 15:05:48

标签: javascript html css xpath selenium-webdriver

以下是我正在处理的应用程序的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元素内的span。

//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']

我错过了什么。有什么建议?

1 个答案:

答案 0 :(得分:2)

这是根据您的第一个xpath:

//td[@style='display: table-cell;']/span[text()='Name1']/../preceding-sibling::td[@class='ui-selection-column'][1]

因为在你的xpath中你选择的是span节点,而不是td,如果你想选择包含td的{​​{1}},那就是像:

span