gpt4 book ai didi

java - 如何在 HtmlUnit 中执行 JavaScript 而不运行页面脚本

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:50 25 4
gpt4 key购买 nike

所以,我在 HtmlUnit 中遇到了一些问题

我正在尝试在 Facebook 的消息页面上运行一些 Javascript 来向某人发送消息。我使用的 JavaScript 是这样的,它在浏览器的控制台中运行得很好:

document.getElementsByName("message_body")[0].value = "test"; var e = document.createEvent('KeyboardEvent'); e.initKeyEvent('keydown', true, true, window, false, false, false, false, 13, 0); document.getElementsByName("message_body")[0].dispatchEvent(e);

它首先按名称选择消息正文文本区域,输入“test”,然后按 Enter 键,发送消息。

当尝试在 HtmlUnit 方法中使用 executeJavaScript() 时,它失败了,但甚至不是因为我的代码。

我收到此错误:

net.sourceforge.htmlunit.corejs.javascript.EvaluatorException: Java class "com.gargoylesoftware.htmlunit.ScriptException" has no public instance field or method named "message". (https://fbstatic-a.akamaihd.net/rsrc.php/v2/yj/r/zt0nwbhPchP.js#36)

...这似乎是 Facebook 的 JavaScript 中的错误,而不是我的错误。

问题?如果 HtmlUnit 没有看到 Facebook 的代码并抛出异常,我就无法在页面上运行任何我自己的 JavaScript。

有什么办法可以绕过这个吗?另外,如果脚本在浏览器中运行得很好,为什么它会破坏 HtmlUnit?

谢谢!

最佳答案

好吧,所以这个问题已经有两年了,但就我而言,如果我设置webClient.getOptions().setThrowExceptionOnScriptError(false)我可以解决这个问题。

关于java - 如何在 HtmlUnit 中执行 JavaScript 而不运行页面脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30419603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com