我正在使用 python、selenium 和 firefox 运行此代码,但仍然获得 'head' 版本的 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)
我也尝试了一些二进制的变体:
binary = FirefoxBinary('C:\\Program Files\\Nightly\\firefox.exe', log_file=sys.stdout)
binary.add_command_line_options("--headless")
最佳答案
要 headless 调用火狐浏览器,可以通过Options()
类设置headless
属性,如下:
from selenium import webdriver
from selenium.webdriver.firefox.options import 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()
还有另一种方法可以实现 headless 模式。如果您需要在 Firefox 中禁用或启用 headless 模式,而无需更改代码,您可以将环境变量 MOZ_HEADLESS
设置为 whatever,如果您希望 Firefox 运行 headless,或者根本不要设置它。
当您使用例如持续集成并且您希望在服务器中运行功能测试但仍然能够在您的 PC 中以正常模式运行测试时,这非常有用。
$ MOZ_HEADLESS=1 python manage.py test # testing example in Django with headless Firefox
或
$ export MOZ_HEADLESS=1 # this way you only have to set it once
$ python manage.py test functional/tests/directory
$ unset MOZ_HEADLESS # if you want to disable headless mode
YouTube 视频的步骤
- Mozilla Firefox in Headless Mode through Selenium 3.5.2 (Java)
- Login into Gmail Account using Headless Chrome through Selenium Java
结尾
How to configure ChromeDriver to initiate Chrome browser in Headless mode through Selenium?
关于python - 如何使用 Python 在 Selenium 中以编程方式使 Firefox headless ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753393/