我用python、selenium和firefox运行这段代码,但仍然得到firefox的"头"版本:

binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', log_file=sys.stdout)
binary.add_command_line_options('-headless')
self.driver = webdriver.Firefox(firefox_binary=binary)

我还try 了二进制的一些变体:

binary = FirefoxBinary('C:\\Program Files\\Nightly\\firefox.exe', log_file=sys.stdout)
        binary.add_command_line_options("--headless")

推荐答案

要无头调用Firefox浏览器,可以通过Options()类设置headless属性,如下所示:

from selenium imp或t webdriver
from selenium.webdriver.firefox.options imp或t Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("http://google.com/")
print ("Headless Firefox Initialized")
driver.quit()

还有另一种实现无头模式的方法.如果需要在Firefox中禁用或启用headless模式,而不更改代码,如果希望Firefox运行headless,或者根本不设置headless,可以将环境变量MOZ_HEADLESS设置为whatever.

例如,当您使用持续集成,并且希望在服务器上运行功能测试,但仍然能够在PC上以正常模式运行测试时,这非常有用.

$ MOZ_HEADLESS=1 python manage.py test # testing example in Django with headless Firefox

$ exp或t MOZ_HEADLESS=1   # this way you only have to set it once
$ python manage.py test functional/tests/direct或y
$ unset MOZ_HEADLESS      # if you want to disable headless mode

浏览YouTube视频


奥特罗

How to configure ChromeDriver to initiate Chrome browser in Headless mode through Selenium?

Python-3.x相关问答推荐

Pandas groupby基于索引的连续列值相等

Pandas 中每行的最大值范围

Python gpsd客户端

为什么我的Selenium脚本在密码元素上失败?

为什么我无法在django中按月筛选事件?

为什么空列表也能起作用?

继承自 Counter 与 dict 的类实例的 Deepcopy

通过匹配第一列的行值,逐个单元格地添加两个Pandas 数据框中的浮点数

如何在 Python 中 cv2 的窗口标题上动态更新 FPS

如果值超出上下限(异常值处理),则将值的数据框替换为 np.nan

Python3 AttributeError:列表对象没有属性清除

Await Future 来自 Executor:Future 不能在await表达式中使用

Python - 如何从同一台客户端机器运行多个Flask应用程序

python3源的类图查看器应用程序

无法在 macOS 上的 Anaconda3 python3.6 上安装 OpenCV3

Python - For 循环数百万行

如何模拟 Django 模型对象(及其方法)?

全局捕获快速 api 中的异常

如何在 Selenium 和 Python 中使用类型查找元素

Beautifulsoup 的单元测试失败