Java Runtime exec:从 Firefox 获取信息



使用Java,我可以使用使用以下代码设置的URL打开Firefox:

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

但是,如果可能的话,我该如何返回以下数据?

  1. 如果火狐浏览器加载成功?(作为布尔值)
  2. 网址是否成功加载?(作为布尔值,或者如果使用多个 URL 作为布尔数组)
  3. 加载所花费的时间(作为值/字符串,或者如果使用超过 1 个 URL 作为值/字符串数组。
  4. Firefox Web 控制台的内容(作为字符串,或者如果使用多个 URL 作为字符串数组)

有没有办法做到这一点并从Firefox或.exec启动的其他程序中取回这种类型的数据?

你根本不会从Java Runtime.exec()中获得太多的里程,恕我直言...

这是一个替代方案,应该可以让您做一些/大部分您正在尝试做的事情......来自Perl(不是Java):

  • 以编程方式查找前 1000 个网站的页面加载时间

这只是一个例子。 还有很多很多其他选择。 如果您想走Java路线,请搜索"屏幕抓取器"或"自动化"。 例如:

  • http://www.manageability.org/blog/stuff/screen-scraping-tools-written-in-java/view

  • http://code.google.com/p/selenium/

'希望有帮助

我建议看看硒...基本上,您需要(当然)一个用于Firefox进程的监视器,并且由于Firefox不提供COM,因此您需要"内部"Firefox,即插件。这就是硒的作用。然后,这样的插件可以向您发送任何内部结构,例如通过简单的 tcp 连接。

最新更新