2010-11-25 12 views
1

私は現在、HtmlUnitを使用してページからhrefを取得しようとしていて、何らかの問題を抱えています。Groovy htmlunit getByXPath

XPathは次のとおりです。私がやっている

<a class="t" title="This Brush" href=http://domain.com/this/that">Brush Set</a> 

私のコードで:

hrefs = page.getByXPath("//html/body/div[2]/div/div/table/tbody/tr/td[2]/div/div[5]/div/div[2]/span/a[@class='t']") 

をしかし、これはのすべてを返しているように見えるウェブページ上

/html/body/div[2]/div/div/table/tbody/tr/td[2]/div/div[5]/div/div[2]/span/a  

私が欲しいだけのURLの代わりに。

誰かがhrefを取得するために追加する必要があるものについて説明できますか? (また、.htmlで終わらない)

答えて

5

aを選択しています。 a/@hrefを選択します。

hrefs = page.getByXPath("//html/body/div[2]/div/div/table/tbody/tr/td[2]/div/div[5]/div/div[2]/span/a[@class='t']/@href") 
+0

+1正解です。 –

+0

迅速な返信ありがとうございます。あなたはなぜ次のURLが表示されるのか知っていますか? :DomAttr [name = href value = – StartingGroovy

+1

私はGroovyに慣れていませんが、属性を選択して文字列値ではなくオブジェクトの "toString()"表現を取得しているためです。 'hrefs.getValue()'を使用してみてください。http://stackoverflow.com/questions/3667352/htmlunit-and-xpath-domnode-getbyxpath-only-works-on-htmlpage/3669846#3669846 –