Как по cookies войти в личный кабинет на Selenium?

Всем добра.
Авторизуясь в личном кабинете, сохраняю cookie для последующих входов:
from selenium import webdriver 
import pickle
import time

chromedriver = 'D:\\temp\\selenium\\chromedriver.exe'
options = webdriver.ChromeOptions()
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36");
browser = webdriver.Chrome(executable_path=chromedriver, chrome_options=options)
browser.get('https://example.com/login/')
email = browser.find_element_by_id('accountName')
email.clear()
password = browser.find_element_by_id('password')
password.clear()
login = browser.find_element_by_id('submit')
email.send_keys('my_mail')
password.send_keys('my_pass')
login.click()
time.sleep(20)
pickle.dump(browser.get_cookies() , open("cookies.pkl","wb"))
browser.close()
browser = webdriver.Chrome(executable_path=chromedriver, chrome_options=options)
cookies = pickle.load(open("cookies.pkl","rb"))
browser.delete_all_cookies()
for cookie in cookies:
    browser.add_cookie(cookie)

browser.get('https://example.com/login/')


В результате получаю эту ошибку:
Traceback (most recent call last):
  File "cookie1.py", line 54, in <module>
    browser.add_cookie(cookie)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\se
lenium\webdriver\remote\webdriver.py", line 894, in add_cookie
    self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\se
lenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\se
lenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie
 domain
  (Session info: chrome=78.0.3904.70)


Видна проблема с доменом. Но, как ее решить?
  • Вопрос задан
  • 4322 просмотра
Решения вопроса 1
alternativshik
@alternativshik
Надо сначала сделать запрос к сайту, а потом вешать куки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы