java - 努力点击htmlunit中的链接

标签 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 可能是个问题,我不得不将其删除,但后来我查看了其他示例代码,它们的链接似乎以相同的格式结束并且有效。

很困惑..请帮忙:-)

提前致谢!

最佳答案

问题不在用于单击链接的代码中。它位于单击链接时执行的 JavaScript 中。要么是 JavaScript 有问题,要么是 HtmlUnit 使用的 JavaScript 解释器在运行时有问题。

问题似乎出在参数 x 上,它在执行期间具有 Infinity 值。

关于java - 努力点击htmlunit中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244005/

相关文章:

java - 可执行 JAR 的 C++ GUI

ruby - 在 Mechanize (Ruby)中,如何登录然后抓取?

C#.NET : Scraping dynamic (JS) websites

r - R 中的链接检查器

python - 如何在不丢失任何数据的情况下处理 UnicodeDecodeError?

java - Selenium webdriver 无法定位元素

Java - 数字数组的可能排列,这将导致相同的二叉搜索树

python - 使用 BS4 python 进行抓取

android - 连续捕获 Android 屏幕以在应用程序中处理

java - 防止网络不可用时应用程序崩溃