我通过 IE 从 java 代码打开一个网页,如下所示:
Runtime.getRuntime().exec(url).
我的网页显示带有用户名和密码的身份验证屏幕(所有用户的用户名和密码几乎相同)。
此外,我创建了 java 脚本,它自动将用户名和密码填充为硬编码。如果我在焦点位于我的网页上时手动运行它,它工作正常。
是否有可能通过上述命令运行脚本?我只是想打开页面并且将填充用户和密码...
谢谢!
我通过 IE 从 java 代码打开一个网页,如下所示:
Runtime.getRuntime().exec(url).
我的网页显示带有用户名和密码的身份验证屏幕(所有用户的用户名和密码几乎相同)。
此外,我创建了 java 脚本,它自动将用户名和密码填充为硬编码。如果我在焦点位于我的网页上时手动运行它,它工作正常。
是否有可能通过上述命令运行脚本?我只是想打开页面并且将填充用户和密码...
谢谢!
首先,您启动浏览器的方法相当不稳定。您当前正在做的是将 URL 作为命令运行,即要运行的进程的名称。这类似于在命令提示符或 Windows 运行...对话框中键入它。幸运的是,在这种情况下,Windows 会通过使用该 URL 启动 IE 来解释执行 HTTP URL 的尝试,但这在其他环境中不太可能是一致的。更好的方法是使用Desktop.browse,它专门在默认浏览器中启动 URL。
至于你的问题本身,这是不可能的。您正在生成一个新的 (IE) 进程,它与您的 Java 进程完全分离。如果没有某种形式的进程间通信,Java 将无法即时向 IE 发送命令。唯一可行的方法是将参数传递给新进程解释的命令。然而据我所知,没有任何命令行参数会导致 IE 在页面加载后运行任意一段 JS。
To run code when the page loads. Put it in an onload function.
window.onload = function(){
// your javascript code here
}