web-dev-qa-db-ja.com

エラー:不明なエラー:Rubyスクリプトをwatirで実行すると、DevToolsActivePortファイルが存在しません

私はCentos7にかなり慣れておらず、以下の環境でブラウザー自動化のソリューションを開発しようとしています。

OS:Centos7 Ruby:2.6 Watirブラウザ:Google Chrome 72.0.3626.109ドライバー:ChromeDriver 2.46.628388

私のスクリプト:

require 'watir'

# Initialize the browser with the driver path
site="https://google.com"
browser = Watir::Browser.new :chrome
browser.goto site

エラーの取得:

`assert_ok': unknown error: Chrome failed to start: exited abnormally (Selenium::WebDriver::Error::UnknownError)
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 3.10.0-957.5.1.el7.x86_64 x86_64)

chrome次のようなオプションを変更することを推奨しているネット上の複数のソリューションを見つけました:

chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

しかし、これらをどこに設定すればよいのかわかりません。私が到達できた最も近いものは、ここで提供される答えです: Pythonを使用してSelenium Chromeドライバーにオプションを渡すにはどうすればよいですか?

誰かが私が段階的にそれを解決するのを手伝ってくれますか?

3
Nishant Kansal

同様の問題に直面しましたが、npmと分度器の構成がありましたが、解決策は似ていると思います。 Linuxシステムにchromeブラウザをインストールする必要があります。

Chromedriverは、テストケースを実行するためにchromebrowserを使用するために作成された単なるラッパーです。

また、google-chromeがインストールされている場合は、Linuxベースのオペレーティングシステムにインストールされているパスを確認することをお勧めします。予想されるパスは/ usr/bin/google-chromeの下にあります。このファイルは通常、クロムの実際のバイナリへのリンクです。

これがお役に立てば幸いです

1
error404