【发布时间】:2015-05-24 02:50:58
【问题描述】:
所以,我在 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”,然后按回车键,发送消息。
当尝试在 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?
谢谢!
【问题讨论】:
标签: java javascript html facebook htmlunit