Как открыть профиль Chrome через Python

Мой сценарий, который я писал, работал отлично. Я просто добавил эту опцию, чтобы она открывала профиль на Chrome с использованием этого кода.

options = webdriver.ChromeOptions
browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
options.add_argument(r'user-data-dir=C:\Users\princess\AppData\Local\Google\Chrome\User Data')
options.add_argument('--profile-directory=Profile 1')

При использовании я получаю этот код ошибки.

C:\Users\Princess\Desktop>CHBO.py
Traceback (most recent call last):
  File "C:\Users\Princess\Desktop\CHBO.py", line 12, in <module>
    browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
  File "C:\Users\Princess\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 59, in __init__
    desired_capabilities = options.to_capabilities()
TypeError: to_capabilities() missing 1 required positional argument: 'self'

Как это исправить?

3 ответа

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

  • Откройте браузер Chrome, нажмите на боковое меню и нажмите на настройки, на которых URL chrome://settings/ открывается.
  • В разделе " Люди " нажмите " Управление другими людьми", в которых появляется всплывающее окно.
  • Нажмите " ДОБАВИТЬ ЧЕЛОВЕКА", введите имя человека, выберите значок, оставьте флажок " Создать ярлык на рабочем столе для этого пользователя" и нажмите кнопку " ДОБАВИТЬ".
  • Ваш новый профиль будет создан.
  • Снимок нового профиля SeLeNiUm

Селен

  • Теперь значок на рабочем столе будет создан как SeLeNiUm - Chrome
  • Из свойств иконки на рабочем столе SeLeNiUm - Chrome получить имя каталога профиля. например --profile-directory="Профиль 2"

Профиль-справочник

  • Получите абсолютный путь к каталогу профиля в вашей системе следующим образом:

    C:\\Users\\Otaku_Wiz\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
    
  • Теперь передайте значение profile-directory через экземпляр Options с add_argument() метод вместе с ключом user-data-dir следующим образом:

    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")
    
  • Выполните свой Test

  • Заметьте, что Chrome инициализируется с помощью профиля Chrome как SeLeNiUm

Селен

Ты можешь использовать options = Options() или же options = webdriver.ChromeOptions() на месте options = webdriver.ChromeOptions

Здравствуйте, если я хочу правильно получить доступ к своему профилю Chrome с помощью цикла Python, как я могу это сделать? и есть ли способ открыть весь профиль Chrome и переключаться между ними?

мой псевдокод ниже

      > python loop start: range(1,n)   access to Profile  with index "i" is
> python loop index
>         #do something
>         close this profile index i
>       access to Profile with index+1
>              #do something
>             close this profile index i+1
>     Close loop

====================

проблема здесь в том, что иногда я использую эту команду через python, затем chrome start, чтобы создать другой профиль 1 в локальном каталоге и перезаписать мой старый профиль, который я сделал @ . @. Моя версия Chrome - ChromeDriver 90.0.4430.24, версия python - Python 3.9.4

options.add_argument('--profile-directory=Profile 1')

спасибо вам, ребята, большое

Другие вопросы по тегам