2010-11-25 3 views
1

현재 HtmlUnit을 사용하여 페이지에서 href를 가져 오는 데 문제가 있습니다.Groovy htmlunit getByXPath

는 XPath는 : 내가 뭐하는 거지 내 코드에서

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

:처럼 보이는 웹 페이지에

/html/body/div[2]/div/div/table/tbody/tr/td[2]/div/div[5]/div/div[2]/span/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']") 

,이 모든 것을 반환 거기에 내가 원하는 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 –