我在点击 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/