Python - Firefox无头

时间:2012-04-08 04:38:30

标签: python firefox selenium headless tor

我花了最后几天把Selenium,Tor和Firefox作为多项任务的组合。我已经设法在Python中编写了一个简单的脚本,通过Selenium控制Firefox,而Firefox则连接到Tor以保护隐私。

现在,我正在寻找一种节省资源的方法,所以我想在无头模式下运行Firefox,我认为这是一个常见的功能,但似乎并不是这样。我正在寻找一种方法来做到这一点。它是Firefox而不是某些基于终端的浏览器的原因是因为我在Firefox中使用的扩展“TorButton”。它内置了javascript注入,有助于隐私。

如果有人之前已经这样做了(我相信很多人都有!),我们将非常感谢您的一些提示,谢谢!

5 个答案:

答案 0 :(得分:11)

答案 1 :(得分:10)

自2017年9月28日发布第56版以来,所有三个主要操作系统都提供Firefox无头模式。

您可以通过webdriver.FirefoxOptions()设置无头模式,就像使用Chrome一样:

from selenium import webdriver

options = webdriver.FirefoxOptions()
options.add_argument('headless')
driver = webdriver.Firefox(options=options)

P.S。如果你使用Selenium< 3.8.0,您必须将webdriver.FirefoxOptions()替换为webdriver.firefox.options.Options()(请参阅PR #5120)。

此外,使用环境变量MOZ_HEADLESS将做同样的事情:

import os
from selenium import webdriver

os.environ['MOZ_HEADLESS'] = '1'  # <- this line
driver = webdriver.Firefox()

答案 2 :(得分:4)

或者使用真正的无头浏览器,例如 Phantomjs ,它重量轻,与硒很好地集成

from selenium import webdriver
driver=webdriver.PhantomJS('your pahtomjs exe file locaiton')

答案 3 :(得分:0)

无头火狐正在取得进展。

2017年4月21日,https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/

  

tl; Linux上的Firefox Nightly博士支持无头地运行SlimerJS    更多平台和完全无头的Firefox即将推出。

答案 4 :(得分:0)

如果最终找到答案:

首先,先做这些:
请注意正确设置火狐驱动路径。

然后:

  

sudo apt-add-repository ppa:mozillateam / firefox-next
  sudo apt-get update
  sudo apt-get install firefox xvfb
  Xvfb:10 -ac&amp;
  export DISPLAY =:10

最后运行此命令,看看我们在执行not。时遇到任何错误。

  

火狐

如果没有任何输出,只需点击 ctrl + c 好的,在那之后写下这些代码。

from selenium import webdriver

class FireFoxLoadTest:
    def __init__(self):
        # 1 - Load a fire fox web driver
        self.driver = webdriver.Firefox()

    def do_test(self, url):
        # 2 - Start to check url on the fire fox browser
        result = self.driver.get(url)
        self.driver.quit()
        return self.result

fire_fox = FireFoxLoadTest()
res = fire_fox.do_test('http://www.google.com')
print(res)