【问题标题】:Browser is launching for headless chrome capybara with Selenium webdriver浏览器正在使用 Selenium webdriver 为无头 chrome capybara 启动
【发布时间】:2021-09-14 18:16:17
【问题描述】:

我正在尝试以无头模式启动 chrome,但浏览器仍在启动。尝试了几种不同的方法

  1. 使用了 chrome 选项并添加了参数
  2. 也使用了 chrome 功能

我的 chrome 版本:86 操作系统 - Ubuntu 水豚 - 3.32.2

第一个帮助文件:

spec_helper.rb

Capybara.register_driver :headless_chrome do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome,
                                 options: Selenium::WebDriver::Chrome::Options.new(args: %w[headless no-sandbox disable-gpu]))
end

Capybara.default_driver = :headless_chrome
Capybara.javascript_driver = :headless_chrome


Helper 文件的第二次尝试:


Capybara.register_driver :headless_chrome do |app|
  Capybara::Selenium::Driver.new(
    app, 
    browser: :chrome,
    desired_capabilities:Selenium::WebDriver::Remote::Capabilities.chrome(
       chromeOptions: {
                       args: %w[headless disable-gpu disable-popup-blocking no-sandbox]
                      }
           )
  )
end

Capybara.default_driver = :headless_chrome
Capybara.javascript_driver = :headless_chrome

提前致谢

【问题讨论】:

    标签: ruby selenium-webdriver rspec capybara headless


    【解决方案1】:

    最简单的方法就是不用自己注册驱动,直接使用Capybara提供的驱动

    Capybara.default_driver = :selenium_chrome_headless
    Capybara.javascript_driver = :selenium_chrome_headless
    

    注意 - 这仅在您不使用 rails 系统测试时才有效(但在您的问题中没有表明您正在使用 rails),因为它们会覆盖这些设置 - 请参阅 rails/rspec 系统测试文档 (driven_by ) 为此。

    【讨论】:

    • 我没有使用 rails 但仍然使用它的启动 chrome。
    【解决方案2】:

    通过单独添加 chromeOptions 解决了这个问题,并且必须从所有参数中删除 --

    【讨论】:

      猜你喜欢
      • 2021-05-16
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      相关资源
      最近更新 更多