当前位置: 首页 > 面试题库 >

努力点击htmlunit中的链接

杨昆
2023-03-14
问题内容

我在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。



 类似资料:
  • 问题内容: 我需要使用HtmlUnit从网站保存文件。我目前正在导航至具有使用javascript的多个锚点的页面: 到目前为止,尽管我一直无法找到资源或示例来说明如何使用HtmlUnit保存文件。我一直在主要尝试让AttachmentHandler为此工作,因为它似乎最有可能工作,但未成功。 如果单击链接,如何使用AttachmentHandler获得浏览器将看到的数据流? 问题答案: 比这更简

  • 问题内容: 我需要使用HtmlUnit从网站保存文件。我目前正在导航至具有使用javascript的多个锚点的页面: 到目前为止,尽管我一直无法找到资源或示例来说明如何使用HtmlUnit保存文件。我一直在主要尝试让AttachmentHandler为此工作,因为它似乎最有可能工作,但未成功。 如果单击链接,如何使用AttachmentHandler获得浏览器将看到的数据流? 问题答案: 比这更简

  • 问题内容: 我正在使用JOptionPane来显示一些产品信息,并且需要向网页添加一些链接。 我发现您可以使用包含html的JLabel,因此我提供了一个链接。该链接在对话框中显示为蓝色并带有下划线,但是不可单击。 例如,这也应该起作用: 如何在JOptionPane中获得可点击的链接? 谢谢,保罗。 编辑 -例如解决方案 问题答案: 您可以将任何组件添加到JOptionPane。 因此,添加一个

  • 问题内容: 我有一个非常基本的问题。 以下代码无法编译(假设Apple扩展了Fruit): 在阅读有关为什么不阅读的内容时,我理解的是单词,但不理解概念:)。 假设第一个Fruit不是抽象类。我知道,由于我们正在处理多个子类型,所有这些子类型都扩展了Fruit。据推测,由于我们无法分辨出确切的水果类型,因此我们无法在集合中放入任何东西。有几件事我不明白: 1)显然我们不知道是哪个水果让我感到困惑。

  • 问题内容: 我正在FireFox中使用Selenium的IDE进行一些测试,我希望Selenium单击第二个链接(Text2)。知道我该怎么做吗?不幸的是,我无权访问HTML并且无法对其进行修改。记录功能似乎没有注册点击。 该代码附在下面。提前致谢! 问题答案: 硒也支持定位器。如果您知道确切的链接文本,则可以使用此定位器,但不能使用其他定位器。因此,对于上述示例:或。(有关其他定位器,请参见此网

  • 问题内容: 我正在尝试在www.meetme.com上发送消息,但不知道该怎么做。我可以在评论区域中键入消息,但是单击“发送”按钮不会执行任何操作。我究竟做错了什么?当我登录并按登录按钮时,页面确实发生了变化,一切都很好。有人有任何想法或线索吗? 问题答案: 如果不了解正在访问的网页,就无法在禁用JavaScript的情况下执行AJAX请求。如果更改未成功,则必须继续进行调试,但请确保已启用Jav