我想打开一个网页并在java应用程序中运行javascript代码。 例如,我想打开 www.mytestpage.com 页面并运行以下javascript代码:
document.getElementById("txtEmail").value="test@hotmail.com";
submit();
void(0);
这适用于浏览器...如何在java应用程序中以编程方式执行此操作?
谢谢!
答案 0 :(得分:0)
用Java编写的Rhino JS engine可以在Tomcat等应用服务器上运行,然后提供JS,但是你不清楚你想用它做什么?
还有Envjs simulated browser environment基于Rhino,但足以运行jQuery和/或Prototype
答案 1 :(得分:0)
您可以使用Rhino执行JavaScript,但不会有DOM可用 - 即document.getElementById()
可以使用。
您可以使用HTML Unit(无头)或WebDriver/Selenium(推动浏览器)在具有DOM可用的环境中执行JavaScript。
答案 2 :(得分:0)
我不确定您在寻找什么,但我认为您想要编写自动POST请求。这可以使用Http Client library完成。只需要设置适当的请求(POST或GET)参数。
查看examples - 您可以使用此库进行基本身份验证或发布文件。
答案 3 :(得分:0)
你的问题有点含糊不清,因为我们不知道Java程序的位置
如果这是您页面中的Java小程序,您应该查看Java< - > JavaScript交互,它运行良好。
如果你需要一个单独的Java程序来控制浏览器,比如在地址栏中发送书签(就像你的一个标签所示),那就更难了(取决于目标浏览器),也许看一下Robot类。
答案 4 :(得分:0)
DWR(和其他框架)现在支持“反向ajax”。一般的想法是,您使用三种方法之一与客户端进行通信:
无论方法(通常是配置时决定而非编码问题),您都可以完全访问您想要进行的任何/所有js调用。
查看the reference page from DWR以获得相当不错的解释。