首页 > 解决方案 > 以无头模式运行 Firefox 的正确方法(Selenium、Python)

问题描述

我想知道在 Selenium 中测试页面时如何运行隐藏的 Firefox 窗口并遇到了这个解决方案。它说我可以像这样在无头模式下运行 Firefox:

from selenium import webdriver
import os
os.environ['MOZ_HEADLESS'] = '1'
driver = webdriver.Firefox()
driver.get("https://www.google.com/")
driver.close()

但它没有获得任何选票。人们似乎认为这是一个错误的答案。为什么?

另外,在官方文档中,我发现可以这样做:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument('-headless')
driver = webdriver.Firefox(options=options)
driver.get("https://www.google.com/")
driver.close()

有人可以解释这两种方式之间的区别吗?

标签: pythonseleniumfirefoxfirefox-headless

解决方案


第一个解决方案在您的计算机上设置环境变量,即更改您的平台。根据文档

如果平台支持 putenv() 函数,这个映射可以用来修改环境

仅当您的平台支持putenv()

可用性:大多数版本的 Unix、Windows。

第二种解决方案webdriver使用一些选项设置实例,而不更改您的平台。


推荐阅读