Search code examples
pythonseleniumgoogle-chromeselenium-chromedriverchrome-profile

How to use Chrome Profile in Selenium Webdriver Python 3


So whenever I try to use my Chrome settings (the settings I use in the default browser) by adding

options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\Users\... (my webdriver path)")
driver = webdriver.Chrome(executable_path="myPath", options=options)

it shows me the error code

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes n 16-17: truncated \UXXXXXXXX escape

in my bash. I don't know what that means and I'd be happy for any kind of help I can get. Thanks in advance!


Solution

  • As per your question and your code trials if you want to open a Chrome Browsing Session here are the following options:

    • To use the default Chrome Profile:

      from selenium import webdriver
      from selenium.webdriver.chrome.options import Options
      
      options = webdriver.ChromeOptions()
      options.add_argument("user-data-dir=C:\\Users\\AtechM_03\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
      driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
      driver.get("https://www.google.co.in")
      
    • Note: Your default chrome profile would contain a lot of bookmarks, extensions, theme, cookies etc. Selenium may fail to load it. So as per the best practices create a new chrome profile for your @Test and store/save/configure within the profile the required data.

    • To use the customized Chrome Profile:

      from selenium import webdriver
      from selenium.webdriver.chrome.options import Options
      
      options = Options()
      options.add_argument("user-data-dir=C:\\Users\\AtechM_03\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2")
      driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
      driver.get("https://www.google.co.in")
      
    • Here you will find a detailed discussion on How to open a Chrome Profile through Python