关闭以无头模式运行的Firefox窗口

时间:2018-08-07 15:53:46

标签: python selenium window

我正在以无头模式在Python和Firefox窗口中玩硒。问题是,如果您问我,我已经使用this useful answer在无头模式下创建了许多Firefox窗口。

首先,我不理解this answer为何没有获得任何投票,除了我自己的投票之外,即使看起来不错。有人可以解释吗?也许我缺少了一些东西。 ¯\ _(ツ)_ /¯

不幸的是,第二,我没有使用Python代码中的driver.close()关闭那些以无头模式运行的窗口,其中有很多。我想知道,现在如何关闭它们?

我发现的唯一解决方案(针对UbuntuMacOS High Sierra)是:

ps aux | grep firefox | awk '{print $2}' | xargs kill

...,应在终端中运行。

但是它不仅以无头模式关闭所有Firefox窗口。从字面上看,它会杀死与Firefox相关的所有进程。

2 个答案:

答案 0 :(得分:1)

通过壁虎驱动程序进行搜索,然后杀死您的壁虎进程。

netstat -tlp | egrep '(firefo|vnc|gecko)'

它是这样的:

0      0 localhost:9090          *:*                     LISTEN      11970/geckodriver

答案 1 :(得分:0)

当我尝试接受的答案时,它也杀死了一些可见的 Firefox 窗口。使用htop,我发现所有使用python selenium 以无头模式运行的firefox 窗口都对应于命令/usr/lib/firefox/firefox --marionette --headless -foreground -no-remote -profile <tmp file>。 因此,在 Unix 堆栈交换上使用 this answer,我想出了:

for pid in $(ps -ef | grep "firefox --marionette -headless" | awk '{print $2}'); do kill -9 $pid; done`