【发布时间】:2018-02-27 18:06:34
【问题描述】:
我正在使用 Capybara Selenium 运行无头 Chrome,效果很好,但我不知道如何使用远程调试。当我添加--remote-debugging-port=4444 或--remote-debugging-port=9222 或--remote-debugging-port=9521 时,Selenium 不再连接到浏览器运行测试。
如何进行远程调试?这是我的参考代码:
Capybara.register_driver :selenium do |app|
# from https://github.com/SeleniumHQ/selenium/issues/3738
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(loggingPrefs: {browser: 'ALL'})
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument '--disable-infobars' # hide info bar about chrome automating test
# if we don't use this flag, every selenium test will die with the error:
# "unknown error: Chrome failed to start: exited abnormally"
options.add_argument '--no-sandbox'
# BREAKS THINGS if uncommented
# options.add_argument '--remote-debugging-port=4444'
options.add_argument '--headless'
options.add_argument '--window-size=1600,2400'
options.add_preference('profile.default_content_settings.popups', 0)
options.add_preference('download.default_directory', DownloadHelpers::PATH.to_s)
Capybara::Selenium::Driver.new(
app,
clear_local_storage: true,
clear_session_storage: true,
browser: :chrome,
options: options,
desired_capabilities: capabilities,
)
end
【问题讨论】:
标签: ruby selenium selenium-chromedriver google-chrome-headless