Google chrome 使用远程调试端口参数从Watir WebDriver启动Google Chrome?

Google chrome 使用远程调试端口参数从Watir WebDriver启动Google Chrome?,google-chrome,watir-webdriver,selenium-chromedriver,Google Chrome,Watir Webdriver,Selenium Chromedriver,希望这是一个简单的问题,但我希望将参数--“remote debugging port=9222”传递给我在Ubuntu盒上使用Watir WebDriver实例化的浏览器。我正在使用ChromeDriver 2.9和Google Chrome 32 我通常会这样做: b = Watir::Browser.new :chrome, :switches => %w[--remote-debugging-port=9222] b.close 奇怪的是,浏览器确实打开了一个空白页面。大约30秒

希望这是一个简单的问题,但我希望将参数--“remote debugging port=9222”传递给我在Ubuntu盒上使用Watir WebDriver实例化的浏览器。我正在使用ChromeDriver 2.9和Google Chrome 32

我通常会这样做:

b = Watir::Browser.new :chrome, :switches => %w[--remote-debugging-port=9222]
b.close
奇怪的是,浏览器确实打开了一个空白页面。大约30秒后,浏览器实例关闭——可能是因为ChromeDriver和Google Chrome之间无法建立连接

作为预防措施,我做了一些初步测试。我能够使用Watir WebDriver启动Chrome浏览器实例,而无需任何参数。此外,我还可以使用--remote debuging port参数从命令行启动GoogleChrome。所以我知道默认情况下,Watir WebDriver和Google Chrome功能正常,这让我相信我没有正确指定参数


关于这里可能出了什么问题,有什么建议吗?

作为我不久前发布的这个问题的后续问题,Chromedriver通过远程调试端口建立了与浏览器的连接

试图覆盖它将阻止chromedriver与浏览器通信,导致浏览器超时,从而停止我希望在其轨道上执行的任何自动化

下面的额外信息

我设法避开了连接到浏览器的远程调试端口的需要,以完成我试图完成的任务。如果有人感兴趣,我尝试连接到远程调试端口以捕获浏览器级别的活动。谢天谢地,chromedriver将通过日志收集所有网络面板信息,您可以通过RESTAPI或从自动化脚本中访问这些日志

要启用此日志记录,您需要将一些参数传递给webdriver。我现在就是这样做的:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("loggingPrefs"=>{"browser"=>"ALL", "performance"=>"ALL"})
driver = Selenium::WebDriver.for :remote, :url => 'http://localhost:4444/wd/hub', :desired_capabilities => caps
b = Watir::Browser.new driver
然后,要从自动化脚本中检索日志,请执行以下操作:

b.driver.manage.logs.get "browser"
请注意,您可以捕获几种不同类型的日志,其详细程度各不相同。以下是几种日志类型:

  • “性能”捕获时间线和网络面板事件
  • “浏览器”捕获浏览器级数据
  • “驱动程序”捕获驱动程序级数据
  • 希望其他人能够利用这些信息为自己谋利

    你可以试试

    browser = Watir::Browser.new(
      :chrome, 
      'chromeOptions' => {'debuggerAddress': '127.0.0.1:9222'})
    
    这将强制chrome使用端口9222进行调试器