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+の組み合わせで動作検証済み
補足情報
- フラグ公式ドキュメント: Chrome Flags for Tooling
- Chrome更新履歴: Chrome Platform Status
- Selenium公式設定例: Chrome Options Guide
この設定により、テスト実行時の予期しないダイアログ表示が解消され、テストスクリプトの安定性と信頼性が向上します。言語固有の実装差異に留意し、ご使用の環境に合わせて適宜調整してください。