如何使用python在Selenium中以编程方式使Firefox无头?

我正在用python,selenium和firefox运行此代码,但仍获得firefox的“ head”版本:

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")

回答:

要不费吹灰之力地调用Firefox浏览器,可以headless通过以下Options()类设置属性:

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()


还有另一种方法可以完成无头模式。如果你需要禁用或启用Firefox中的无头模式,而无需修改代码,您可以设置环境变量MOZ_HEADLESS,以 什么

,如果你想Firefox的运行无头,或根本不设置它。

例如,在使用持续集成并且希望在服务器中运行功能测试但仍能够在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

以上是 如何使用python在Selenium中以编程方式使Firefox无头? 的全部内容, 来源链接: utcz.com/qa/402132.html

回到顶部