Html Xpath在两个展开单元中使用同级或同级
直截了当地说,我想在td中找到TestCoupon10%,然后打开一个同级td,然后找到//a[contains(@id,“cmdOpen”)]我确实尝试过同级,但很可能我做得不对,因为 //span[./text()=“TestCoupon10%”]/以下同级:a[contains(@id,“cmdOpen”)] 生成无效的xpath。HTML结构看起来很简单Html Xpath在两个展开单元中使用同级或同级,html,xpath,Html,Xpath,直截了当地说,我想在td中找到TestCoupon10%,然后打开一个同级td,然后找到//a[contains(@id,“cmdOpen”)]我确实尝试过同级,但很可能我做得不对,因为 //span[./text()=“TestCoupon10%”]/以下同级:a[contains(@id,“cmdOpen”)] 生成无效的xpath。HTML结构看起来很简单 <tr> <td> <span id="oCouponGrid_ctl03_lblCode">
<tr>
<td>
<span id="oCouponGrid_ctl03_lblCode">TestCoupon10%</span>
</td>
<td>...</td>
<td>...</td>
<td valign="middle" align=""right">
<a id="oCouponGrid_ctl03_cmdOpen">
</td>
</tr>
TestCoupon10%
...
...
轴用双冒号分隔,而不是单冒号(用于名称空间前缀)。你想说:
//span[./text()="TestCoupon10%"]/following-sibling::a[contains(@id,"cmdOpen")]
但是-
不是所讨论的
的后续兄弟。您需要进行一些导航:
//span[./text()="TestCoupon10%"]/parent::td/following-sibling::td/a[contains(@id,"cmdOpen")]
或者,只要避免掉到树上,你就不必再“爬”上去了
//td[span = "TestCoupon10%"]/following-sibling::td/a[contains(@id,"cmdOpen")]