所以,让我们说我的结构在某些时候看起来像这样:
..........
<td>
[...]
<input value="abcabc">
[...]
</td>
[...]
<td></td>
[...]
<td>
<input id="booboobooboo01">
<div></div> <=======I want to click this!
</td>
.........
我需要点击该div,但我需要确定它与包含value="abcabc"
输入的td位于同一行。我也知道我需要点击的div(没有id或我可以使用的任何其他相关属性)在与第一个td相同级别的td中,在输入之后使用id CONTAINING“boo”(动态生成,我只知道id的根部分)。 td包含我可以使用的任何相关内容。
这是我尝试的xpath:
//input[@value='abcabc']/../td/input[contains(@id,'boo')]/following-sibling::div
//input[@value='abcabc']/..//td/input[contains(@id,'boo')]/following-sibling::div
当然,它们都没有用(无法找到元素)。 我想知道是否有一种选择div和方式的方法。
编辑://input[@value='abcabc']/../../td/input[contains(@id,'boo')]/following-sibling::div
是正确的方法。这是由接受答案的人建议的。还要注意他提供了一种稍微不同的方式。有关详细信息,请参阅他的回答。
答案 0 :(得分:3)
尝试
//input[@value='abcabc']/ancestor::tr[1]/td/input[contains(@id,'boo')]/following-sibling::div[1]
请注意,//input[@value='abcabc']/..
只会转到父<td>
,这就是为什么你的工作不起作用。
答案 1 :(得分:1)
另一个可能有用的XPath,有点简单:
//input[@id='booboobooboo01']/../div[1]