我正在尝试使用OR运算符,我想要任何一个表达式。
表达工作个人但不在一起你可以帮忙,请看下面
//*[[@class='eline'][1]/following-sibling::tr] OR [[@class='eline'][1]]
嗨,
下面是一个更好的例子,所以我对你的第一个解决方案感到满意,因为这选择了所有内容但我想选择alt =“Ab”的元素,因为这个元素位置可能会改变所以我希望xpath是尽可能动态
<tr class="eline">
<tr>
<td class="norm" nowrap=""/>
<td class="norm" nowrap="">
<td class="norm" nowrap="">
<td class="norm" nowrap="">cccc cccc </td>
<td class="norm" nowrap="">99999 </td>
<td class="norm" nowrap=""/>
<td>
<td class="norm" nowrap="">
<img width="20" vspace="0" border="0" hspace="0" height="15" alt="Ab" name="abs3" src="images/sp_abs.gif"/>
</td>
<td class="norm" nowrap="">
<td class="norm" nowrap="">testcase33 testcase33 </td>
<td class="norm" nowrap="">33100 </td>
<td class="norm" nowrap=""/>
<td class="norm" nowrap=""/>
</tr>
<tr class="eline">
<tr>
<tr class="eline">
<tr>
<tr>
答案 0 :(得分:1)
我想你试图选择:
class
属性eline
tr
元素最简单的方法是组合使用union |
运算符工作的两个选择器:
//*[@class='eline'][1]/following-sibling::tr | //*[@class='eline'][1]
例如,使用此XML:
<table>
<tr name="first"/>
<tr class="eline" />
<tr name="third"/>
<tr name="fourth"/>
</table>
上面的XPath将给出
<tr class="eline"/>
<tr name="third"/>
<tr name="fourth"/>
假设你想从上面的代码选择的元素中找到一个元素img[@alt="Ab"]
,你可以这样做:
(//*[@class='eline'][1]/following-sibling::tr | //*[@class='eline'][1]) // img[@alt="Ab"]