Java,启动chrome,设置用户代理,设置代理?

时间:2014-07-11 03:49:26

标签: java

我怎么能用Java做到这一点?

我想以编程方式申请我的申请:

1)将Chrome浏览器启动到网址(我已经知道如何执行此操作),

URI uri = new URI("http://www.example.com");
Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
    desktop = Desktop.getDesktop();
}
if (desktop != null) {
    desktop.browse(uri);
    System.out.print("worked");
}

2)设置用户代理(坚持这样做)

3)设置代理。 (和这个)

4)填写一些表格数据并完成其他一些功能

5)重复

我陷入了困境。 这可能是一个Java应用程序吗?我最初使用HtmlUnit来加载网页并提交表单数据并完成一些操作,但某些Javascripts不加载常规浏览器,我需要那个功能。

这是OSX特定的应用程序。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您使用Desktop类,则会打开默认浏览器。如果您更改默认浏览器,则Desktop.browse将启动而不是Chrome。如果你想要chrome,尝试不同的东西,比如运行外部程序。 This question explains how

您似乎无法从命令行更改chrome的用户代理。您可以向chrome添加扩展以更改命令行,但您必须使用用户界面执行此操作。如果您每次都需要更改用户代理,那将是一个问题。

HtmlUnit对javascript支持的限制为they say in the htmlunit page

您可以尝试在java中找到使用Webkit引擎的方法。它可以做你需要的一切。