0

我想选择一个包含大于 1 的数字的按钮,所以我写了以下内容:

//*mobile-list-outcome[1]/div/div[2][number(.) > 1]

我的问题是我想避免第一个元素,因为它无关紧要,我的解决方案是我尝试将 index [1] 放在最后:

 //*mobile-list-outcome[1]/div/div[2][number(.) > 1][1]

但它所做的只是将发现的元素减少到 0,有什么想法吗?

PC:我也试过把 and 放在两个条件之间,但它根本没有做任何事情

4

1 回答 1

0

要跳过第一个元素,可以使用position()index。在你的情况下:

//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div/div[2]/text()[number(.)>1][position()>1]

或者

//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div/div[2]/text()[number(.)>1][not(position()=1)]

请注意,以下表达式应该在没有number()函数的情况下工作:

//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div/div[2]/text()[.>1][position()>1]

旁注:您可以使用()选择满足您条件的页面的第一个元素:

 (//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div/div[2]/text()[.>1])[1]

编辑:3个测试选项:

//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div[position()>1]/div[2]/text()[.>1]
(//*/sb-mobile-odds/div//sb-mobile-list-outcome[1]/div/div[2]/text()[.>1])[position()>1]
//div[@class="sb-event-list__selection sb-event-list__selection--european"][position()>1]/div[contains(@class,"sb-event-list__selection__outcome-value")][.>1]
于 2020-07-25T14:31:08.943 回答