Groovy htmlunit getByXPath
Posted
技术标签:
【中文标题】Groovy htmlunit getByXPath【英文标题】: 【发布时间】:2011-05-15 10:38:07 【问题描述】:我目前正在使用 htmlUnit 试图从页面中获取一个 href 并且遇到了一些问题。
XPath 是:
/html/body/div[2]/div/div/table/tbody/tr/td[2]/div/div[5]/div/div[2]/span/a
在网页上是这样的:
<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']")
但是,这会返回其中的所有内容,而不仅仅是我想要的 url。
有人可以解释我必须添加什么才能获得 href 吗? (也不以 .html 结尾)
【问题讨论】:
【参考方案1】:您正在选择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")
【讨论】:
感谢您的及时回复。您知道为什么会出现以下内容以及网址吗? : DomAttr[name=href value= 我不熟悉 Groovy,但我的猜测是因为您选择了属性并且正在获取对象的“toString()”表示,而不是它的字符串值。尝试使用hrefs.getValue()
***.com/questions/3667352/…
你是正确的 Mads Hansen。非常感激。作为可能遇到类似问题的任何人的旁注,我不得不使用 page.getFirstByXPath 而不是 page.getByXPath
Mads Hansen,如果你有时间,可以看看:***.com/questions/4320179/…以上是关于Groovy htmlunit getByXPath的主要内容,如果未能解决你的问题,请参考以下文章