我有这张桌子:
这是一张巨大的表格,所以我在这里只包含相关代码。 正如你所看到的,在表格中我有很多带有红色x的标签:
<td>
<img id="imgPartStatus" title="Part Not Found/Part Unavailable" src="../../../App_Themes/Theme/Images/red-x.gif" alt="Part Not Found/Part Unavailable">
</td>
所以我试图做的是有一些代码(不是问题的一部分)贯穿表中的所有td,当它找到这样的时候(绿色检查图标) )...
<td>
<img id="imgPartStatus" title="Part Available at Gateway" src="../../../App_Themes/Theme/Images/grn_chk.gif" alt="Part Available at Gateway">
</td>
...我希望它选中它旁边的复选框(在x右侧可见或检查图标)。幸运的是,复选框和红色/绿色图标位于相同的tr中,这样可以使事情变得更容易。
这是绿色图标旁边的复选框的代码:
<td>
<input id="chkSelectPart" name="$chkSelectPart" onclick="chkNCJL(this,'True');" type="checkbox">
</td>
这里的问题是:
什么是&#34; JUMP&#34;到td的下一个(右边)的td? PS。它不必是一个xpath。但是因为我在找到它之后会点击它,所以xpath应该是好的。 我仍然在努力理解xpath中的关系(前面的兄弟姐妹等)。
感谢您查看我的问题。
答案 0 :(得分:2)
您可以使用XPath表达式一次性完成:
//tr[starts-with(td/img[@id="imgPartStatus"]/@title, "Part Available")]/td/input[contains(@id, "chkSelectPart")]
在这里,我们基本上找到tr
标题以img
开头的Part Available
,然后位于tr
找input
id
在里面包含“chkSelectPart”。
答案 1 :(得分:0)
您可以使用以下其中一项
//td/img[@alt='Part Available at Gateway']//following::input[@type='checkbox']
//td[img[@alt='Part Available at Gateway']]//following-sibling::td/input