2

我正在编写一个需要打开 URL 列表的程序。我在Ubuntu12.04上有firefox,每次杀了firefox再重新打开,都会有一条消息询问我是否要恢复以前的会话,这很烦人。

我调用 firefox(in Java) 使用

Runtime r= Runtime.getRuntime();
r.exec("firefox -new-instance www.google.com");

并使用杀死它

r.exec("killall firefox");

有没有办法更优雅地杀死和重新打开 Firefox?我希望程序在没有任何弹出消息或人工干预的情况下自动运行。非常感谢!

4

3 回答 3

1

我认为你不能从 Java 中优雅地杀死 Firefox,但你可以更改你的 Firefox 设置,这样它就不会在每次重新打开时询问你。

请参阅对您有所帮助的Firefox 恢复选项链接。

于 2012-12-19T21:52:10.243 回答
1

使用WebDriver加载和停止Firefox。您可以使用单独的配置文件获取单独的 Firefox 实例。不会要求您恢复会话。

FirefoxProfile fp = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(fp);
driver.get(url);

然后关闭浏览器和所有子窗口:

driver.quit();
于 2012-12-19T21:57:16.380 回答
0

与其直接启动 firefox,不如启动一个在后台启动 firefox 的 shell 脚本,然后在标准输出上打印 firefox 进程的 PID。

Process然后你可以通过返回的对象读回PIDRuntime.exec()

于 2012-12-19T21:52:22.863 回答