C# Selenium Start Chrome with Different User Profile

Issue

For the past 2 days, I’ve been trying to find a way to start Chrome with a different profile but to no avail.
No matter what I do, the profile that Selenium loads for chrome is always some temporary profile like “C:\Users\DARKBO~1\AppData\Local\Temp\scoped_dir14308_25046\Default”

I have tried the following code:

ChromeOptions options = new ChromeOptions();
options.AddArgument(@"user-data-dir=C:\SeleniumProfiles\Default");

IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("chrome://version");

First I tried using the directories for the profiles directly from the Chrome folder, didn’t work. Then I created a new folder and moved the profiles there, I’ve tried doing this both in C:\ and in D:\ . No difference whatsoever.
I’ve tried running the user-data-dir argument both like it currently is in the code and with — in front of it. I’ve tried using double backslashes without the @ symbol, still nothing. No matter what I do the profile directory is always the Selenium temp directory.

P.S. The current C:\SeleniumProfiles directory I created through the command prompt using the chrome user-data-dir=C:\SeleniumProfiles command

P.S. 2: My mistake was very simple, I forgot to put the options in the constructor of the new driver. And as Tarun made it clear, user-data-dir only gives Chrome the directory that contains the profiles, then we need to use profile-directory argument to give the subdirectory that contains the needed profile.

Solution

You din’t use the options objects at all.

IWebDriver driver = new ChromeDriver();

Should be

IWebDriver driver = new ChromeDriver(options);

Edit-1 – Chrome profiles and users

Chrome has User data directory for storing profiles. Inside this directory multiple profiles can be maintained. There are two arguments that can be used

  • user-data-directory
  • profile-directory

If only user-data-directory is specified then a Default directory inside the same would be used. If profile-directory is specified then that directory inside the user-data-directory is used

Answered By – Tarun Lalwani

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published