【问题标题】:How to detect if Chrome browser is headless in selenium?如何检测 Chrome 浏览器是否在硒中无头?
【发布时间】:2018-07-13 14:21:40
【问题描述】:

我正在编写一个 selenium 测试,考虑到 chrome 浏览器是否以无头模式启动,它具有不同的行为。我的问题是在我的测试中如何检测浏览器是否对我的条件流无头?

【问题讨论】:

  • 我不明白为什么这个问题有反对票。这是一个有效的问题!

标签: python google-chrome selenium selenium-webdriver selenium-chromedriver


【解决方案1】:
【解决方案2】:

在无头启动 chrome 实例时,您需要将参数“--headless”显式添加到 chromeOptions 对象。 例如,如果您正在编写一个网站的测试框架,您可能有某种浏览器创建器类,它能够为您提供不同的浏览器来使用。为什么不将该参数保存为该类的附加成员?

如果您的代码中没有那种工厂设计,另一个更简单的选择就是

options = webdriver.ChromeOptions
options.add_argument("--headless")
print(options.arguments)

【讨论】:

  • 谢谢,但我并不是真的在寻找浏览器是否无头启动的验证。我想在我的测试的条件流程中检查这一点。如:if headless: do this else: do this
  • if "--headless" in options.arguments: print("headless as fuh") print("doing conditionally headless test things now")
  • 我的错我应该让情况更清楚一点。选项设置属于通用类,因此选项在测试本身中不可用。测试中唯一可用的是初始化的驱动程序。因此,鉴于我只能访问驱动程序,是否有驱动程序的任何属性,即我可以用来检测无头属性的 webdriver.Chrome。
  • 你有什么运气吗?我一直在尝试梳理 selenium 的文档,但我很难找出是否有办法通过仅访问驱动程序本身来查看驱动程序是否是无头的。
  • 很遗憾没有。我查看了所有已初始化的驱动程序属性,发现任何无头迹象,但没有发现任何东西。
猜你喜欢
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
  • 2013-07-19
相关资源
最近更新 更多