【问题标题】:Groovy htmlunit getByXPathGroovy 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 结尾)

【问题讨论】:

    标签: xpath groovy href htmlunit


    【解决方案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()stackoverflow.com/questions/3667352/…
    • 你是正确的 Mads Hansen。非常感激。作为可能遇到类似问题的任何人的旁注,我不得不使用 page.getFirstByXPath 而不是 page.getByXPath
    • Mads Hansen,如果你有时间,可以看看:stackoverflow.com/questions/4320179/…
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 2011-06-05
    相关资源
    最近更新 更多