0

Java で Web ページの読み込みを自動化しようとしています。私はFirefoxで試していますが、ブラウザーはFFである必要はないと思います...私の質問は、FirefoxでURLをロードしてコールバックまたはページがロードされたことをプログラムに伝える何かを取得するために呼び出すAPIはありますか?

私は 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"));

これら 2 つの例で Java が機能することはわかっていますが、ページが読み込まれたことを知らせるコールバックはありません。私はCentOSかWin7を使っているので、もっと互換性のあるオプションがあればOSに合わせます。

4

2 に答える 2

1

process.waitFor()トリックを行いますか?

于 2012-10-30T18:35:48.993 に答える
0

あなたが得る可能性が最も高いのは、ブラウザが起動したことを知ることです. あなたの例に示すように、デスクトップ API を使用することをお勧めします。

アプローチの失敗モードを検討してください。ネットワークが利用できない場合はどうなりますか? ページがタイムアウトするまでコードを待機させますか? ページの読み込みが非常に遅い場合はどうなりますか? ここで解決しようとしている実際の問題は何ですか?

于 2012-10-30T19:24:25.417 に答える