打开Web浏览器并将其作为虚拟用户进行控制

时间:2014-01-21 16:59:45

标签: java javascript

我正在尝试打开浏览器,然后用Java模拟用户。以前我会用简单的Applescript完成这个,有这样的东西

tell application "Safari"
activate
open location "http://google.co.uk"
delay 1
do JavaScript "
    document.getElementById('gbqfq').value ='software is hard';
" in document 1
end tell

因此,它会打开Safari,然后输入Google的查询框。

在Java中,到目前为止我已经

import javax.script.*;
public class VirtualUser {
public static void main(String[] args) throws Exception {

Runtime.getRuntime().exec("open /Applications/Safari.app");   
Thread.sleep(1000);

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval("print('Hello World')");
}
}

打开Safari(Google主页),在IDE中打印Hello World(验证JS是否在Java中运行?)

在Java示例中,如何在Google的搜索栏中进一步输入文本?并且在Java中使用JavaScript是最佳/唯一的解决方案吗?

1 个答案:

答案 0 :(得分:1)

过去我和Selenium运气不错​​。它可以自动化浏览器,您可以像描述的那样运行命令。一定要去看看。