Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Xpath在两个展开单元中使用同级或同级_Html_Xpath - Fatal编程技术网

Html Xpath在两个展开单元中使用同级或同级

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">

直截了当地说,我想在td中找到TestCoupon10%,然后打开一个同级td,然后找到//a[contains(@id,“cmdOpen”)]我确实尝试过同级,但很可能我做得不对,因为

//span[./text()=“TestCoupon10%”]/以下同级:a[contains(@id,“cmdOpen”)] 生成无效的xpath。HTML结构看起来很简单

<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")]