当前位置: 首页 > 面试题库 >

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

涂煌
2023-03-14
问题内容

我正在用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


 类似资料:
  • 问题内容: 尝试使用配置文件设置在Firefox中使用Python中的Selenium禁用Flash。这个问题指定了一种通过GUI进行操作的方法,但是对于这种特定用例,最好以编程方式进行操作。具体来说,最好的解决方案是允许在新创建的配置文件对象中禁用Flash。 非常感谢! 问题答案: 您可以使用以下配置文件禁用闪光灯。

  • 我尝试了这个python脚本在windows上的portable Firefox中打开一个url,但是我得到了跟踪。 以下是回溯: 我正在使用: 你知道如何让便携式Firefox工作吗?

  • 问题内容: 尝试使用配置文件设置在Firefox中使用Python中的Selenium禁用Flash。 这个问题指定了一种通过GUI进行操作的方法,但是对于这种特定用例,最好以编程方式进行操作。具体来说,最好的解决方案是允许在新创建的配置文件对象中禁用Flash。 非常感谢! 问题答案: 您可以使用以下配置文件禁用Flash。

  • 使用 lavas init 创建的模板项目中,在以下场景下都会以编程方式使用 Lavas: server.dev.js 开发环境下的 SPA/SSR 模式。 server.prod.js 生产环境下的 SSR 模式。 可见以编程方式使用 Lavas 的主要场景就是 SSR 模式,而在 SPA 模式下仅仅是供开发服务器使用。因此,如果开发者选择了 SSR 模式,阅读下面的内容将十分有帮助: 如何选择

  • Selenium-webDrivegem版本需要特定的火狐版本(可以理解,总是有点滞后)。请参见:无法在60秒内获得稳定的火狐连接(127.0.0.1:7055) 在这种情况下,我需要火狐28的宝石版本2.41.0 (2014-03-28)。见:http://selenium.googlecode.com/git/rb/CHANGES 我的问题是我已经安装了Firefox 32(截至目前为止)。我

  • 问题内容: 给我一个Bearer令牌,以后可以使用;但是,这是一个shell命令。如何通过Google Cloud Python API以编程方式获取一个? 我看到了使用oauth2client的先前示例,但现在已弃用。如何使用google.auth和oauthlib做到这一点? 问题答案: 答案取决于您的环境以及您如何创建/获取凭据。 什么是Google Cloud凭据? Google Clou