2016-05-16 41 views
0

我想獲得第二個同班同學。裏面有鏈接。如何寫同一類但不同索引的xpath?

<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 

回答

1

你是非常接近的。以下XPath,

(//li[@class = 'arrow'])[2]/a/@href 

將根據要求選擇"someotherlinkstopage.com"

您還可以使用在這種情況下,而是針對arrowssparrow等比賽謹防見How can I select an element with multiple classes with Xpath?

+0

我試過..仍然不能進入下一頁..只刮首頁.. – Michimcchicken

+0

您的第二次和第三次嘗試,以及我提供的解決方案,將在您顯示的示例HTML 。如果您沒有成功使用我的或您的第二個解決方案,那麼您還沒有提供代表性的HTML摘錄。 – kjhughes

+0

我檢查了html ..只包含兩個「箭頭」..我真的不知道爲什麼..在此之前,我沒有意識到它有2個「箭頭」,我的代碼// li [包含(@class,'arrow')]/a/@ href,它去了第二頁,然後停止..但它颳了第一頁和第二頁.. – Michimcchicken

0

我有這樣的使用

(//li[@class='arrow'])[last()]/a/@href 

我不知道爲什麼解決[2 ]不能使用,但最後()可以...

但我知道我使用last(),因爲只有2類名爲箭頭。無論是第一個或最後一個。

+0

創建一個合適的** [mcve] **很難,但從長遠來看可以節省您的時間和我們的時間。 – kjhughes

+0

是的,我明白你的意思..謝謝你的幫助.. – Michimcchicken

相關問題