I am running automated UI tests using Selenium WebDriver (C#), and it seems a recent Chrome update has broken standard initialization.
When the test starts, Chrome launches but gets permanently stuck on the "Welcome to Chrome profiles" screen. Because the browser is waiting for user interaction, Selenium fails to communicate with the renderer and throws an invalid session id exception.
My suspicion: I believe a recent update (I am on Chrome 146) has made the profile selection screen mandatory, or it is now ignoring standard bypass flags.
What I have tried (and what is currently failing): Historically, using --no-first-run, --guest, or setting a temporary --user-data-dir would bypass this. None of these are working anymore. Here are the options I am currently passing:
C#
ChromeOptions options = new ChromeOptions();
// The usual bypass arguments that are no longer working:
options.AddArgument("--no-first-run");
options.AddArgument("--guest");
options.AddArgument("--no-default-browser-check");
options.AddArgument("--disable-search-engine-choice-screen");
options.AddArgument("--disable-features=WelcomeExperience,ProfilePicker");
// Standard stability arguments:
options.AddArgument("--disable-print-preview");
options.AddArgument("--remote-allow-origins=*");
options.AddArgument("--disable-dev-shm-usage");
options.AddArgument("--start-maximized");
IWebDriver driver = new ChromeDriver(options);
I also tried explicitly pointing to a fresh temp folder (--user-data-dir=...) combined with --profile-directory=Default (and removing --guest), but the browser still forces me to the profile picker.
Environment Details:
Language: C# (.NET)
Selenium WebDriver Version: [Insert your version, e.g., 4.18.1]
Chrome Version: 146.0.7680.165
ChromeDriver Version: 146.0.7680enter image description here.165
Has anyone else encountered this breaking change in recent Chrome versions? What is the new reliable way to definitively bypass this profile selection screen so tests can proceed?