2011-05-13 143 views
0

我想要做的是使用HtmlUnit從跨度的父錨獲取href。這是我的意思。從父錨獲取href HtmlUnit

<a href="http://link.com/serv?id=jibberish&type=dynamic/changeseachvisit"><span>Some Unique Text</span></a> 

沒有ID或名字與任一或標籤相關的,通過這個例子那麼回事,你怎麼會找到其他類似的海洋無標識或名稱該鏈接? 謝謝!

+0

你使用鏈接的平均來識別呢? – VirtualTroll 2011-05-13 14:54:08

+0

是的,你可以,但是這個鏈接有連接到它的查詢字符串參數,它們是動態的(每次訪問網站時都會改變,並且基於訪問者是誰 – 2011-05-13 15:05:42

+0

我不知道htmlunit或者api的樣子,但我想你可以直接在js中或通過java api來遍歷DOM,所以必須有一個「getParent()」方法 – 2011-05-13 15:12:26

回答

2

使用XPath //span[contains(.,'Transcript')]/parent::a/@href

(非測試,但XPATH肯定是要走的路)

+0

isnt XPATH僅適用於XML嗎? – 2011-05-13 15:17:15

+0

不,絕對不是......你可以在HTMLUnit中使用XPATH,我已經使用了很多,XPath是我的首選方法,在HTMLUnit [Getting Started](http://htmlunit.sourceforge.net) /gettingStarted.html),您有一段名爲'查找特定元素',其中指出:「XPath是更復雜搜索的建議方式」 – Grooveek 2011-05-13 15:20:39

+0

我是XPATH的新手,我試過.... page.getByXPath(「 //包含(。,'Transcript')/ parent :: a [@href]「)。get(0).toString()...有很多錯誤,比如」unknown nodetype:contains「 – 2011-05-13 15:31:30