2012-08-12 34 views
0

使用Java獲取信息,我可以打開Firefox的只是我使用此代碼設置URL罰款:Java運行時的exec:從Firefox

Runtime.getRuntime().exec("C:\\Program Files\\Mozilla Firefox\\firefox.exe" + " " + "http://www.website.com"); 

但是,如果可能的話我怎麼能那麼返回下列數據?

  1. 如果Firefox加載成功? (作爲bool)
  2. 如果URL加載成功? (作爲bool,或者如果使用超過1個URL作爲布爾陣列)
  3. 加載所花費的時間(作爲值/字符串,或者如果使用多個URL作爲值/字符串數組。
  4. Firefox Web Console的內容(作爲一個字符串,或者如果使用多個URL作爲字符串數組)

有沒有辦法做到這一點,並從Firefox或其他程序取回這種類型的數據。執行正在啓動?

+1

不要這樣做。你不能假設你的用戶擁有Firefox,或者他們甚至有一個'C:'驅動器。 – SLaks 2012-08-12 17:23:01

+0

我想要這個供我自己使用,所以Firefox會被找到。 – zeddex 2012-08-12 17:55:26

+0

@zeddex - 準則:如果您不需要硬編碼的東西;) – paulsm4 2012-08-12 18:12:26

回答

3

你根本不會從Java Runtime.exec(),IMHO得到很多里程...

這裏是一個應該讓你做一些/大部分你想從Perl的(不是Java)做...什麼替代:

這只是一個例子。有很多很多其他的選擇。如果你想要去Java路線,搜索「屏幕刮板」或「自動化」。例如:

「希望幫助

+0

如果我使用Perl,Perl會很好,但這需要Java,因爲那是我使用的編程語言。我正在製作一個自動化工具,但是想自己學習,而不是使用一個圖書館,這就是爲什麼我問。感謝您的回覆。 – zeddex 2012-08-12 18:03:48

+0

@zeddex - 相間相位Yoda:「是或否......沒有Runtime.exec()」;) – paulsm4 2012-08-12 18:10:23

+0

@zeddex - 準則:如果你不需要重新發明輪子。你不僅「完成了工作」,而且你還有機會從一個成功的設計中學習 - 也許發明更好的東西! – paulsm4 2012-08-12 18:15:10

1

我建議看看硒... 基本上,你需要(當然)是一個用於firefox進程的監視器,並且由於Firefox不提供COM,所以你需要「內部」firefox,即插件ñ。這是硒的作用。這樣一個插件就可以通過簡單的tcp連接向你發送任何內部信息。