Chrome ブラウザの接続については、Justin Ko による前述の記事を参照しました。私は過去に同じアプローチを使用して成功しましたが、それは私にとってはうまくいきました。ただし、現在、次のコードを使用して再試行しています。
require 'watir'
browser = Watir::Browser.new(
:chrome,
'chromeOptions' => {'debuggerAddress': '127.0.0.1:8181'})
browser.goto 'www.google.com'
browser.text_field(name: 'q').set 'Raja'
そして、このエラーメッセージが生成されます。
C:\Ruby32\bin\ruby.exe C:/A/TestBot/AppData/Example.rb
C:/Ruby32/lib/ruby/gems/3.2.0/gems/watir-7.3.0/lib/watir/capabilities.rb:29:in `to_args': {"chromeOptions"=>{:debuggerAddress=>"127.0.0.1:8181"}} are unrecognized arguments for Browser constructor (ArgumentError)
raise ArgumentError, "#{@options} are unrecognized arguments for Browser constructor" unless @options.empty?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
from C:/Ruby32/lib/ruby/gems/3.2.0/gems/watir-7.3.0/lib/watir/browser.rb:46:in `initialize'
from C:/A/TestBot/AppData/Example.rb:3:in `new'
from C:/A/TestBot/AppData/Example.rb:3:in `<main>'
パラメータの受け渡し方法が変わっている可能性を考え、以下のコードを書きました。
require 'watir'
chrome_options = { 'debuggerAddress': '127.0.0.1:8181' }
browser = Watir::Browser.new :chrome, options: chrome_options
browser.goto 'www.google.com'
browser.text_field(name: 'q').set 'Raja'
しかし、これは次のエラーもスローします。
C:\Ruby32\bin\ruby.exe C:/A/TestBot/AppData/Example.rb
C:/Ruby32/lib/ruby/gems/3.2.0/gems/selenium-webdriver-4.17.0/lib/selenium/webdriver/common/options.rb:118:in `as_json': These options are not w3c compliant: {:debuggerAddress=>"127.0.0.1:8181"} (Selenium::WebDriver::Error::WebDriverError)
from C:/Ruby32/lib/ruby/gems/3.2.0/gems/selenium-webdriver-4.17.0/lib/selenium/webdriver/common/local_driver.rb:42:in `process_options'
誰かがこの問題を解決するのを手伝ってくれませんか?
最終的な目標は、Chrome で使用しているのと同じアプローチを使用して Edge ブラウザーを接続することです。ただし、まず Chrome ブラウザの接続を成功させる必要があります。
パラメーターの名前が「debuggerAddress」から「debugger_address」に変更されました。
browser = Watir::Browser.new(:chrome, options: {debugger_address: '127.0.0.1:8181'})