我正在编写一个需要打开URL列表的程序。我在Ubuntu12.04上有firefox,每次我杀了firefox并重新打开它,会有一条消息询问我是否要恢复以前的会话,这很烦人。
我使用
调用firefox(在Java中)Runtime r= Runtime.getRuntime();
r.exec("firefox -new-instance www.google.com");
并使用
将其杀死r.exec("killall firefox");
有没有办法更优雅地杀死并重新打开Firefox?我希望程序自动运行,不需要任何弹出消息或人工干预。 非常感谢!
答案 0 :(得分:1)
我认为你无法从Java中优雅地杀死Firefox,但是你可以改变你的firefox设置,这样它每次重新打开时都不会问你。
请参阅可为您提供帮助的链接Firefox Restore Options。
答案 1 :(得分:1)
使用WebDriver加载并停止Firefox。您可以使用单独的配置文件获取单独的Firefox实例。系统不会要求您恢复会话。
FirefoxProfile fp = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(fp);
driver.get(url);
然后关闭浏览器和任何子窗口:
driver.quit();
答案 2 :(得分:0)
不是直接启动firefox,而是启动一个在后台启动firefox的shell脚本,然后在标准输出上打印firefox进程的PID。
然后,您可以通过Process
Runtime.exec()
对象读回PID