Вопрос-Ответ

How to use Chrome Profile in Selenium Webdriver Python 3 [duplicate]

Как использовать профиль Chrome в Selenium Webdriver Python 3

Поэтому всякий раз, когда я пытаюсь использовать свои настройки Chrome (настройки, которые я использую в браузере по умолчанию), добавляя

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

он показывает мне код ошибки

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

в моем bash. Я не знаю, что это значит, и я был бы рад любой помощи, которую я могу получить. Заранее спасибо!

Переведено автоматически
Ответ 1

Принятый ответ неверен. Это официальный и правильный способ сделать это:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions()
options.add_argument(r"--user-data-dir=C:\path\to\chrome\user\data") #e.g. C:\Users\You\AppData\Local\Google\Chrome\User Data
options.add_argument(r'--profile-directory=YourProfileDir') #e.g. Profile 3
driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=options)
driver.get("https://www.google.co.in")

Чтобы найти папку профиля в Windows, щелкните правой кнопкой мыши ярлык профиля Chrome на рабочем столе, который вы хотите использовать, и перейдите в свойства -> ярлык, и вы найдете его в текстовом поле "цель".

Ответ 2

Чтобы получить путь, выполните следующие действия.

В строке поиска введите следующее и нажмите enter

введите описание изображения здесь

Затем будут показаны все метаданные. Там найдите путь к профилю

введите описание изображения здесь

Ответ 3

Согласно вашему вопросу и вашим пробным кодам, если вы хотите открыть сеанс просмотра Chrome, вот следующие варианты:


  • Использовать профиль Chrome по умолчанию:


    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")

  • Примечание: Ваш профиль Chrome по умолчанию будет содержать множество закладок, расширений, тем, файлов cookie и т.д. Selenium может не загрузить его. Итак, в соответствии с рекомендациями создайте новый профиль Chrome для вашего @Test и сохраните / сконфигурируйте в профиле необходимые данные.


  • Чтобы использовать настроенный профиль Chrome:


    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")

  • Здесь вы найдете подробное обсуждение того, как открыть профиль Chrome через Python


Ответ 4

Ни один из приведенных ответов не сработал для меня, поэтому я немного поработал, и теперь рабочий код предназначен для этого. Я скопировал папку пользовательского каталога из пути к профилю из chrome: // version/ и привел другой аргумент в пользу профиля, как показано ниже:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=C:\\Users\\gupta\\AppData\\Local\\Google\\Chrome\\User Data')
options.add_argument('profile-directory=Profile 1')
driver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\chromedriver.exe', options=options)
driver.get('https://google.com')
python selenium