我希望获得同一级别的SECOND。里面有链接。
<ul>
<li class="arrow">
<a href="somelinks.com"> </a>
</li>
<li></li>
<li></li>
<li class="arrow">
<a href="someotherlinkstopage.com"> </a>
</li>
<li></li>
</ul>
我想得到“someotherlinkstopage.com”。这是第二个李。我应该尝试倒数第二个?还是上课?
我试过了:
//(li[contains(@class,'arrow'])[2]/a/@href
//li[contains(@class, 'arrow')][2]/a/@href
//li[@class='arrow'][2]/a/@href
答案 0 :(得分:1)
你非常接近。以下XPath,
Header
将根据要求选择(//li[@class = 'arrow'])[2]/a/@href
。
在这种情况下,您也可以使用"someotherlinkstopage.com"
,但请注意与contains()
,arrows
等的匹配。请参阅How can I select an element with multiple classes with Xpath?
答案 1 :(得分:0)
我已经使用
解决了这个问题(//li[@class='arrow'])[last()]/a/@href
我不知道为什么[2]不能使用但是last()可以..
但我知道我使用last()因为只有2个名为arrow的类,无论是第一个还是最后一个。