3

给定以下标记

<div>
    <a>Username1</a>
</div>
<div>
    <button>Unblock</button>
</div>
<div>
    <a>Username2</a>
</div>
<div>
    <button>Unblock</button>
</div>
<div>
    <a>Username3</a>
</div>
<div>
    <button>Unblock</button>
</div>

如何选择按钮元素,它是a带有文本 Username2 的元素的表亲?

我可以用 选择a元素//a[contains(., 'Username2')],所以我认为这//a[contains(., 'Username2')]/following-sibling::/div/button会选择正确的按钮,但这不起作用。我认为它甚至不是有效的 XPATH。

4

1 回答 1

8

你很接近:

//a[contains(., 'Username2')]/../following-sibling::div[1]/button

要导航到表亲,您首先必须转到父级 ( ..),然后再转到其兄弟级。

请注意,following-sibling::轴选择所有后续兄弟,而不仅仅是第一个。[1]这意味着如果您只想要第一个,则必须使用。

这也可以:

//一种[。= 'Username2']/../following-sibling::div[1]/button

也可以这样:

//div[a = 'Username2']/following-sibling::div[1]/button
于 2012-11-01T08:03:51.797 回答