Question :
So I’d like to open chrome with its default profile using pythons webdriver. I’ve tried everything I could find but I still couldn’t get it to work. Thanks for the help!
Answer #1:
This is what finally got it working for me.
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\Path") #Path to your chrome profile
w = webdriver.Chrome(executable_path="C:\Users\chromedriver.exe", chrome_options=options)
To find path to your chrome profile data you need to type chrome://version/
into address bar . For ex. mine is displayed as C:UserspcAppDataLocalGoogleChromeUser DataDefault
, to use it in the script I had to exclude Default
so we end up with only C:UserspcAppDataLocalGoogleChromeUser Data
.
Also if you want to have separate profile just for selenium: replace the path with any other path and if it doesn’t exist on start up chrome will create new profile and directory for it.
Answer #2:
This solved my problem. (remove Default at the end)
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=/home/username/.config/google-chrome")
cls.driver = webdriver.Chrome(options=options,
executable_path="./../ext/chromedriver")
Chrome_Options
ist deprecated. Use options
instead
Answer #3:
Just to share what worked for me. Using default’s profile was complicated, chrome keeps crashing.
from pathlib import Path
from selenium import webdriver
driver_path = Path("{}/driver/chromedriver75.exe".format(PATH_TO_FOLDER))
user_data_dir = Path("{}/driver/User Data".format(PATH_TO_FOLDER))
options = webdriver.ChromeOptions()
# TELL WHERE IS THE DATA DIR
options.add_argument("--user-data-dir={}".format(user_data_dir))
# USE THIS IF YOU NEED TO HAVE MULTIPLE PROFILES
options.add_argument('--profile-directory=Default')
driver = webdriver.Chrome(executable_path=driver_path, options=options)
driver.get("https://google.com/")
By doing this Chrome will create the folder User Data
and keep all the data in it where I want and it’s easy to just move your project to another machine.
Answer #4:
This answer is pretty simple and self-explained.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
exec_path_chrome = "path/to/Google Chrome" #Do not use this path that is extracted from "chrome://version/"
exec_path_driver = "path/to/chromedriver"
ch_options = Options() #Chrome Options
ch_options.add_argument("user-data-dir = /path/to/Chrome Profile") #Extract this path from "chrome://version/"
driver = webdriver.Chrome(executable_path = exec_path_driver, options = ch_options) #Chrome_Options is deprecated. So we use options instead.
driver.get("https://stackoverflow.com/a/57894065/4061346")
As @MadRabbit said type chrome://version/
into the address bar to find the path to your chrome profile data.
- It appears like this in Windows
C:UserspcAppDataLocalGoogleChromeUser DataDefault
- It appears like this in Mac
/Users/user/Library/Application Support/Google/Chrome/Default
So all you have to do is to erase the last portion from the profile path.Default
Note: Make sure you don’t run more than one session at the same time to avoid problems.
Answer #5:
I solved my problem with answer of “Yoannes Geissler”.
In my case My profile was named “Profile 2”
My Code :
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=C:/Users/GOD/AppData/Local/Google/Chrome/User Data')
options.add_argument('--profile-directory=Profile 2')
wd = webdriver.Chrome(options=options)
The below line solved my problem:
options.add_argument('--profile-directory=Profile 2')