使用Java操作JavaScript
Manipulate JavaScript using Java
我正在连接到一个具有特定JavaScript的Web服务器。(使用HttpURLConnection atm)我需要的是一个可以操作JavaScript函数的连接。之后我想再次运行整个JavaScript。
我希望以下函数始终返回"new FlashSocketBack()"
function createBackend() {
if (flashSocketsWork) {
return new FlashSocketBackend()
} else {
return new COMETBackend()
}
}
我必须使用HtmlUnit吗?连接、操作和重新运行脚本的最简单方法是什么?
谢谢。
使用HtmlUnit确实可以做到。
尽管您不能操作现有的JS函数,但您可以在现有页面上执行您想要的JavaScript代码。
示例:
WebClient htmlunit = new WebClient();
HtmlPage page = htmlunit.getPage("http://www.google.com");
page = page.executeJavaScript("<JS code here>").getNewPage();
//manipulate the JS code and re-excute
page = page.executeJavaScript("<manipulated JS code here>").getNewPage();
//manipulate the JS code and re-excute
page = page.executeJavaScript("<manipulated JS code here>").getNewPage();
更多:http://www.aviyehuda.com/2011/05/htmlunit-a-quick-introduction/
你最好的办法可能是使用Rhino——一种完全用Java编写的JavaScript的开源实现。用window.location
加载您的页面,并希望运行您的JavaScript函数。在将浏览器带到服务器之前,我读过一些书,这似乎是可能的。
相关文章:
- 通过javascript操作图像,非常简单
- 如何使用javascript操作SVG节点,使其在MS Edge中工作
- Rails-带有单选按钮的表单,带有启用/禁用附加元素的javascript操作
- javascript操作(轮盘赌)打开特定页面的结果
- 无法延迟iPhone/iPad上的两个JavaScript操作
- 单击时的javascript操作不起作用
- 如何在我更改输入时添加javascript操作'的内容
- WebSQL和Javascript操作顺序
- 如何使用 JavaScript 操作 html 按钮元素的“onclick”事件
- 使用javascript操作css元素,左短划线
- 遇到奇怪的javascript操作
- 有没有一种方法可以在长时间运行的JavaScript操作之前强制回流
- 根据用户在asp.net网站中选择的弹出窗口使用JavaScript操作网页
- javascript操作错误
- 如何延迟QML中的JavaScript操作
- 使用 JQuery 或 Javascript 操作 JSON
- 单击时的 JavaScript 操作
- 如何在DOM上的javascript操作之后立即获取html元素的高度
- 基于多个可能的 DIV 内容的 JavaScript 操作
- 在加载数据表后触发 JavaScript 操作