Skip to content

SeleniumテストでのChrome v127「検索エンジンの選択」ダイアログの無効化

問題

Chromeブラウザのバージョン127以降、Seleniumテスト実行時に「検索エンジンを選択してください」というダイアログが表示されるようになりました。この問題は開発者コンソールに以下のエラーを引き起こします:

[CONSOLE]: "An error occurred while checking for Google Chrome updates"

ダイアログが出現すると、テストフローの中断や要素操作の失敗を引き起こします。既存の回答では、このダイアログを抑制するための解決策がChromeオプションの設定にあることが示されています。


解決策

Chromeの起動オプションに--disable-search-engine-choice-screenを追加することで、ダイアログの表示を完全に抑止可能です。以下の言語別実装例で適用方法を確認できます。

C#での実装

csharp
using OpenQA.Selenium.Chrome;

public class ChromeSetup
{
    public IWebDriver ConfigureChrome()
    {
        var options = new ChromeOptions();
        
        // 検索エンジン選択画面を無効化
        options.AddArgument("--disable-search-engine-choice-screen");
        
        // ヘッドレスモード使用時(オプション)
        if (config.IsHeadless) 
        {
            options.AddArgument("--headless=new");
        }
        
        return new ChromeDriver(options);
    }
}

Javaでの実装

java
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class ChromeConfig {
    public ChromeDriver initChrome(boolean isHeadless) {
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--disable-search-engine-choice-screen");
        
        if (isHeadless) {
            options.addArguments("--headless=new");
        }
        
        return new ChromeDriver(options);
    }
}

Pythonでの実装

python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--disable-search-engine-choice-screen")

# ヘッドレスモード
# options.add_argument("--headless=new")

driver = webdriver.Chrome(options=options)

Ruby on Railsでの実装

ruby
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
  driven_by :selenium, using: :chrome do |options|
    options.add_argument("disable-search-engine-choice-screen")
  end
end

複数オプションを設定する場合

他のフラグと組み合わせるときは配列で追加

csharp
options.AddArguments(
    "--disable-search-engine-choice-screen",
    "--disable-popup-blocking",
    "--incognito"
);

技術解説

このダイアログは「デジタル市場法(DMA)」準拠のためにChrome 127で導入されました。SeleniumではChromeOptionsを通じてブラウザの起動パラメータを制御できます。

重要

  • フラグ名は厳密に--disable-search-engine-choice-screenです(ハイフンの数に注意)
  • テスト用プロファイルを使う方法では解決できないため、オプション追加が必須
  • Chrome 127+とSelenium 4.21+の組み合わせで動作検証済み

補足情報


この設定により、テスト実行時の予期しないダイアログ表示が解消され、テストスクリプトの安定性と信頼性が向上します。言語固有の実装差異に留意し、ご使用の環境に合わせて適宜調整してください。