运行 Firefox 无头模式的正确方法(Selenium,Python)

The right way to run Firefox in headless mode (Selenium, Python)

我想知道在 Selenium 中测试页面时如何 运行 隐藏 Firefox window 并遇到 this solution。它说我可以 运行 像这样在无头模式下使用 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()

谁能解释一下这两种方式的区别?

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

If the platform supports the putenv() function, this mapping may be used to modify the environment

只有您的平台支持putenv()

才有效

Availability: most flavors of Unix, Windows.

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