Как открыть профиль 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')
спасибо вам, ребята, большое