【问题标题】:How to enable remote debugging with headless chrome when using ruby and selenium?使用 ruby​​ 和 selenium 时如何使用无头 chrome 启用远程调试?
【发布时间】:2018-12-28 15:05:09
【问题描述】:

当我设置选项“--remote-debugging-port”时,它会抛出一个错误。如果没有这个选项,它可以正常工作。但是,我想在使用无头 chrome 时进行调试。我该怎么办?

.rvm/rubies/ruby-2.2.5/lib/ruby/2.2.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

这是我的代码:

options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--remote-debugging-port') # debug
@driver = Selenium::WebDriver.for(:chrome, options: options)
puts @driver.manage.logs.get :browser

【问题讨论】:

    标签: ruby selenium selenium-webdriver selenium-chromedriver google-chrome-headless


    【解决方案1】:

    根据Getting Started with Headless Chrome 启用远程调试,您可以通过Selenium::WebDriver::Chrome::Options.new 添加参数remote-debugging-port,这将有助于:

    在另一个浏览器中导航到http://localhost:9222以打开DevTools界面或使用Selenium等工具驱动无头浏览器。

    options = Selenium::WebDriver::Chrome::Options.new
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    options.add_argument('--remote-debugging-port=9222')
    @driver = Selenium::WebDriver.for(:chrome, options: options)
    puts @driver.manage.logs.get :browser
    

    【讨论】:

    • 谢谢。在我的情况下,由于某种原因,它自动更改为其他端口(61625),甚至在 add_argument 中将端口设置为 922。我必须查看 cli 日志才能注意到。
    猜你喜欢
    • 2021-08-09
    • 2014-12-25
    • 2017-12-29
    • 1970-01-01
    • 2023-01-14
    • 2019-01-04
    • 2011-10-22
    • 2018-10-18
    相关资源
    最近更新 更多