我想打开一个网页并从Java应用程序中运行JavaScript代码。 比如我想打开网页www.mytestpage.com并运行下面的JavaScript代码:如何在Java应用程序中打开网页并运行我自己的JavaScript代码
document.getElementById("txtEmail").value="[email protected]";
submit();
void(0);
这个工程在浏览器...我怎么能做到这一点编程Java应用程序中?
谢谢!
我想打开一个网页并从Java应用程序中运行JavaScript代码。 比如我想打开网页www.mytestpage.com并运行下面的JavaScript代码:如何在Java应用程序中打开网页并运行我自己的JavaScript代码
document.getElementById("txtEmail").value="[email protected]";
submit();
void(0);
这个工程在浏览器...我怎么能做到这一点编程Java应用程序中?
谢谢!
这里有Rhino JS engine用Java编写,你可以在应用服务器上运行,比如Tomcat和JS,但是 - 你不清楚你想用这个做什么?
还有Envjs simulated browser environment这是基于犀牛,但完全够运行jQuery和/或原型
您可以使用Rhino执行JavaScript,但你不会有一个可用的DOM - 即document.getElementById()
会工作。
您可以使用HTML Unit(无头)或WebDriver/Selenium(驾驶浏览器)在具有DOM可用的环境中执行JavaScript。
我不确定你在找什么,但我认为你想写自动POST请求。这可以用Http Client library来完成。只有你必须设置适当的请求(POST或GET)参数。
看看examples - 借助这个库,您可以进行基本身份验证或发布文件。
你的问题有点含糊,因为我们不知道Java程序的位置。
如果这是你的页面中的Java applet,你应该看看Java < - > JavaScript的交互,它运行良好。
如果你需要一个单独的Java程序来控制浏览器,比如在地址栏中发送一个书签(作为你的一个标签建议),这有点难(取决于目标浏览器),也许看看Robot类。
DWR(和其他框架)现在支持“reverse ajax”。总的想法是,你用三种方法之一回传送给客户端:
不管方法(通常是一个配置时间决定而不是编码问题),你将有完全访问任何/所有js调用你想要。
退房the reference page from DWR得到一个很好的解释。