我试图在表格中获取someValue的text()值。
这是html:
<div class="giveHeight">
<table width="100%" cellspacing="0" cellpadding="3" border="0" id="loads" class="dataTable" aria-describedby="loads_info">
<thead>
<tr class="tableHeading" role="row">
...Header...
</tr>
</thead>
<tbody role="alert" aria-live="polite" aria-relevant="all">
<tr class="odd">
<td class=" ">SomeValueInTheFirtColumn</td>
<td style="text-align: center;" class=" ">1</td>
<td class=" ">aabbcc</td>
<td class=" ">CityA</td>
<td class=" ">AA</td>
<td class=" ">CityB</td>
<td class=" ">BB</td>
<td style="text-align: right;" class=" ">00</td>
<td style="text-align: right;" class=" ">$1.00</td>
<td style="text-align: right;" class=" ">$1.00</td>
<td style="text-align: right;" class=" ">
<a href="/xx/xx.asp?id=99999">
<img src="/tab/images/icons/view.gif" border="0" alt="view" width="14" height="14">
</a>
</td>
<td style="text-align: right;" class=" "></td>
</tr>
</tbody>
</table>
在 第一列 中,有一个我想要查找的值。但是,它取决于cityA和cityB的值的一部分。
我正在尝试这样的事情但是没有工作:
//div[@class='giveHeight']/table/tbody/tr/td/td[following-sibling::td[text()='CityA']/following-sibling::td[text()='CityB']]/text()
答案 0 :(得分:1)
我不确定这是你想要的,但要获得值SomeValueInTheFirtColumn
,你的XPath中只有一个td
太多了。所以把它改成
//div[@class='giveHeight']/table/tbody/tr/td[following-sibling::td[text()='CityA']/following-sibling::td[text()='CityB']]/text()
,结果会得到SomeValueInTheFirtColumn
。
但是,以下更短的表达式确实达到了相同的结果:
//div[@class='giveHeight']/table/tbody/tr/td[1]/text()
另一方面,如果您想在CityA
和CityB
之间检索值'AA',以下XPath将提取您想要的内容:
//div[@class='giveHeight']/table/tbody/tr/td[following-sibling::td[text()='CityB'] and preceding-sibling::td[text()='CityA']]/text()