Chrome がすぐに起動しない、またはクラッシュしない

これは、特別なテストハーネス(IDE など)または継続的ビルド システム(Jenkins など)を使用して ChromeDriver または Chrome を実行している場合によく発生します。

通常のユーザー コマンド プロンプトから、テストで使用しているのと同じ Chrome バイナリを起動してみてください。chromedriver.log ファイルで使用されている Chrome バイナリを確認します。特別なコマンドライン スイッチや引数を Chrome に渡す場合は、それらも含めてください。Chrome が正しく起動しない場合は、Chrome のインストールを修正する必要があります。再インストールしてみてください。

コマンド プロンプトから Chrome を実行できると仮定して、次のステップでは、テスト環境でテストを実行したときに同じ問題が発生するかどうかを確認します。通常のユーザーのコマンド プロンプトからテスト用バイナリまたはスクリプトを直接起動することをおすすめします。WebDriver や ChromeDriver を使用せずに、テストから直接 Chrome を起動できることを確認します。たとえば、Java では ProcessBuilder API を使用して Chrome バイナリを直接起動できます。テスト環境でも同じ問題が発生する場合は、問題を再現する手順を記載した新しい問題を報告してください。

それ以外の場合、問題が特別なテスト環境でのみ発生する場合は、次の手順を行います。

Chrome の代替インストーラを使用します。これにより、すべてのユーザーに Chrome がインストールされます。多くの場合、Selenium をバックグラウンド サービスとして実行している場合に問題が解決します。

Chrome が起動時にクラッシュする一般的な原因は、Linux で Chrome を root ユーザー(管理者)として実行していることです。WebDriver セッションの作成時に --no-sandbox フラグを渡すことでこの問題を回避することは可能ですが、このような構成はサポートされておらず、使用は強くおすすめしません。代わりに、Chrome を標準ユーザーとして実行するように環境を構成します。

上記の解決策で問題が解決しない場合は、問題を再現する手順を記載した新しい問題を報告してください。問題が特別なテスト環境でのみ発生する場合、ChromeDriver デベロッパーは問題の調査と解決を行わない場合があります。