努力点击htmlunit内的链接

时间:2011-03-09 09:54:07

标签: java screen-scraping web-scraping htmlunit

点击htmlunit中的链接时遇到问题。我浏览了网站上的api(我真的不太了解)并查看了我能找到的所有示例代码,并且仍然遇到点击链接的问题。

这是错误消息的顶部(它非常大,如果你想我可以全部提交)

"page2 = link2.click() Exception class=[net.sourceforge.htmlunit.corejs.javascript.JavaScriptException] com.gargoylesoftware.htmlunit.ScriptException: Sys.ArgumentOutOfRangeException: Sys.ArgumentOutOfRangeException: Value must be an integer. Parameter name: x Actual value was Infinity. "

第一页加载正常,但是当我点击第二个链接时,我收到此错误(链接是javascript)。这是我的代码部分

       page = webclient.getPage(url) 
   anchors1 =  page.getAnchors()
   for anchor in anchors1:
        if anchor.asText() == "2":
            link2 = anchor
            break
   page2 = link2.click()

如果我打印链接2,我会得到:HtmlAnchor[<a href="javascript:__doPostBack('ctl00$MainContent$gvSearchResults','Page$2')">]

起初我觉得HtmlAnchor可能是一个问题,我不得不删除它,但后来我查看了其他示例代码,他们似乎以相同的格式结束了它们的工作。

如此困惑..请帮助: - )

提前致谢!

1 个答案:

答案 0 :(得分:1)

问题不在用于点击链接的代码中。它是在单击链接时执行的JavaScript中。 JavaScript是错误的,或者HtmlUnit使用的JavaScript解释器在运行时遇到问题。

问题似乎是参数x在执行期间具有无穷大值。