我通过IE从java代码打开一个网页,如下所示:
Runtime.getRuntime().exec(url).
我的网页显示包含用户名和密码的验证屏幕(所有用户的用户和密码几乎相同)。
另外,我创建了java脚本,用硬编码自动填充用户名和密码。如果我将焦点放在我的网页上手动运行它,它可以正常工作。
是否有可能通过上述命令运行脚本? 我只想打开页面,用户&密码将被填充...
谢谢!
答案 0 :(得分:3)
首先,您启动浏览器的方法相当不稳定。您当前正在做的是运行URL,就好像它是一个命令,即要运行的进程的名称。这类似于在命令提示符或Windows运行...对话框中键入它。幸运的是,在这种情况下,Windows通过使用该URL启动IE来解释尝试执行HTTP URL,但这在其他环境中可能不一致。更好的方法是使用Desktop.browse,它专门在默认浏览器中启动URL。
关于你自己的问题,这是不可能的。您正在生成一个新的(IE)进程,该进程与Java进程完全独立。如果没有某种形式的进程间通信,Java将无法动态地向IE发送命令。这可能的唯一可行方法是将参数传递给由新进程解释的命令。据我所知,没有命令行参数会导致IE在加载页面后运行任意一段JS。
答案 1 :(得分:-1)
在页面加载时运行代码。把它放在onload函数中。
window.onload = function(){
// your javascript code here
}