0

我正在尝试用 Java 自动加载网页。我正在尝试使用 Firefox,尽管我猜浏览器不必是 FF ......我的问题是,是否有任何 api 可以让我调用在 Firefox 中加载 url 并获得回调或告诉我的程序页面已加载的东西?

我已经成功地尝试了 Selenium,但是我喜欢它需要的时间太长,所以我现在想直接从 Java 类加载。

Runtime runtime = Runtime.getRuntime();
        try {
            String path = "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe";
            Process process = runtime.exec(path + " " + "http://www.cnn.com");
        } catch (IOException e) {
            // ...
        }

- 或者 -

java.awt.Desktop.getDesktop().browse(java.net.URI.create("http://cnn.com"));

我知道 Java 在这 2 个示例中工作,但同样 - 没有回调告诉我页面已加载。我使用 CentOS 或 Win7,所以如果有更兼容的选项,我将符合操作系统。

4

2 回答 2

1

process.waitFor()成功吗?

于 2012-10-30T18:35:48.993 回答
0

您可能得到的最好结果就是知道浏览器已启动。我建议使用您的示例中所示的桌面 API。

考虑你的方法的失败模式。如果网络不可用怎么办?您是否希望您的代码等到页面超时?如果页面加载缓慢怎么办?您要在这里解决的实际问题是什么?

于 2012-10-30T19:24:25.417 回答