Xpath在锚帮助中选择以下(数字)同级
如果我没有解释清楚,请提前道歉。我会尽我最大的努力澄清我想做什么。无需进一步讨论……假设您在一页上有一系列数字(仅用空格分隔),其中括号表示当前页面 在页面上看起来是这样的: [1] 2 3 HTML如下所示:Xpath在锚帮助中选择以下(数字)同级,xpath,next,siblings,Xpath,Next,Siblings,如果我没有解释清楚,请提前道歉。我会尽我最大的努力澄清我想做什么。无需进一步讨论……假设您在一页上有一系列数字(仅用空格分隔),其中括号表示当前页面 在页面上看起来是这样的: [1] 2 3 HTML如下所示: <tr> <td> [<a href='link1.php'>1</a>] <a href='link2.php'>2</a> <a href='link3.php'>3</a> <
<tr>
<td>
[<a href='link1.php'>1</a>] <a href='link2.php'>2</a> <a href='link3.php'>3</a>
</td>
</tr>
[]
我只是想根据当前页面选择下一个页码。我想我需要使用某种形式的following sibling,但我所想到的是//tr/td/a/following sibling::a[1],这显然是不正确的。它在第1页上选择2,但在第2页上按预期选择3。我会尝试使用[text()[contains(,“[”)]]来选择当前页面,但括号位于锚外部,而不是内部.Eek
如果您能将思考过程与您的解决方案一起解释,而不仅仅是粘贴答案,我们将不胜感激。期待您的帮助。第2页后的下一页将由以下人员找到:
//tr/td/a[.='2']/following-sibling::a[1]
首先,我们根据当前页面的字符串内容选择当前页面//tr/td/a[.='2']
,然后从中选择下面的第一个同级
要在不知道当前页面的情况下执行此操作,我们将选择“]”后面的a元素
如果没有当前页面,我们将默认为元素的第一个
//tr/td/( text()[']'=normalize-space(.)]/following-sibling::a | a )[1]
//tr/td/( text()[']'=normalize-space(.)]/following-sibling::a | a )[1]