Selenium 为什么在无头模式下运行时浏览器不出现?

Selenium 为什么在无头模式下运行时浏览器不出现?,selenium,headless,Selenium,Headless,我正在学习Selenium教程,在那里我应该在headless模式下运行Firefox。然后尝试获取URL。问题是当我运行browser.get时https://www.google.com“),该页面不会像我没有使用headless模式时那样加载 如果有帮助,下面是代码 from selenium.webdriver import Firefox from selenium.webdriver.firefox.options import Options opts = Options()

我正在学习Selenium教程,在那里我应该在headless模式下运行Firefox。然后尝试获取URL。问题是当我运行
browser.get时https://www.google.com“)
,该页面不会像我没有使用headless模式时那样加载

如果有帮助,下面是代码


from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options

opts = Options()
opts.headless = True
assert opts.headless
browser = Firefox(options=opts)
browser.get('https://www.google.com')


无头测试是一种在没有头的情况下运行浏览器UI测试的方法,在本例中,这意味着没有浏览器UI,没有任何类型的GUI。这很有用,因为在运行测试时,尤其是在CI环境中,没有人“观看”视觉效果,因此不需要浏览器GUI的额外开销

浏览器自动化 浏览器自动化已经成为现代网站构建、测试和部署的重要组成部分。自动化设置范围从在本地机器上运行的脚本到在运行CircleCI、TeamCity、Bambor、GitLab、Buddy、Codeship、GoCD、Wercker、Semaphore、Nevercode、Spinnaker、Buildbot等的CI服务器以及云中的部署。长期以来,浏览器通过第三方驱动程序软件支持某种程度的自动控制

@Potch在他的书中用简单的话解释了headless的概念,浏览器的核心是web用户界面,尤其是图形用户界面。这给自动化带来了一些问题。在某些环境中,可能没有可用的图形显示,或者希望在控制浏览器时完全不显示浏览器。这需要虚拟显示软件等工具才能正常运行,增加了复杂性

在这个想法付诸实践之前,加载网页而不显示UI的最佳方式是基于WebKit的PhantomJS。它仍然是一个有价值的工具,能够在官方浏览器中运行自动浏览器测试,因此有一个无头模式是很有价值的


Firefox处于无头模式 在无头模式下,Firefox正常运行,不包括任何可见的UI组件。虽然它对网上冲浪没有多大用处,但它通过自动测试而独树一帜


工具书类 您可以在以下内容中找到一些相关讨论:


答案就在你的问题中:看不到headless浏览器。headless就是为了这个。