0

我通过 IE 从 java 代码打开一个网页,如下所示:

Runtime.getRuntime().exec(url).

我的网页显示带有用户名和密码的身份验证屏幕(所有用户的用户名和密码几乎相同)。

此外,我创建了 java 脚本,它自动将用户名和密码填充为硬编码。如果我在焦点位于我的网页上时手动运行它,它工作正常。

是否有可能通过上述命令运行脚本?我只是想打开页面并且将填充用户和密码...

谢谢!

4

2 回答 2

3

首先,您启动浏览器的方法相当不稳定。您当前正在做的是将 URL 作为命令运行,即要运行的进程的名称。这类似于在命令提示符或 Windows 运行...对话框中键入它。幸运的是,在这种情况下,Windows 会通过使用该 URL 启动 IE 来解释执行 HTTP URL 的尝试,但这在其他环境中不太可能是一致的。更好的方法是使用Desktop.browse,它专门在默认浏览器中启动 URL。

至于你的问题本身,这是不可能的。您正在生成一个新的 (IE) 进程,它与您的 Java 进程完全分离。如果没有某种形式的进程间通信,Java 将无法即时向 IE 发送命令。唯一可行的方法是将参数传递给新进程解释的命令。然而据我所知,没有任何命令行参数会导致 IE 在页面加载后运行任意一段 JS。

于 2013-10-15T15:04:34.837 回答
-1

To run code when the page loads. Put it in an onload function.

window.onload = function(){
  // your javascript code here
}
于 2013-10-15T15:02:42.933 回答