Перейти к содержимому

Selenium WebDriver: полное руководство
онлайн, начало 27 января
Логи как инструмент тестировщика
онлайн, начало 30 января
Автоматизация тестов для REST API при помощи Postman
онлайн, начало 2 февраля
Погружение в тестирование. Jedi point
онлайн, начало 30 января
Фотография

Selenium дамп куки и загрузка из дампа в Chrome - Python


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Alexnder

Alexnder

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Александр Андреевич

Отправлено 11 августа 2016 - 06:24

Добрый день! 
Только начинаю разбираться с selenium'om из возник вопрос: как при работе с Chrome оставаться авторизованым на каком-то сайте?

Гугл привел меня на эту ссылку:
http://stackoverflow....nium-webdriver

Решил зайти, авторизоваться, сделать дамп этой куки и впоследствии загружать куку из дампа.

Написал такой скрипт для авторизации на ya.ru:

import pickle
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")#инициализирую вебдрайвер
driver.get("https://ya.ru/")
#вхход в почту
elem = driver.find_element_by_xpath("/html/body/table/tbody/tr[1]/td/div[2]/a") 
elem.click()
#ищу поля логин-пароль
elem = driver.find_element_by_xpath('''//*[@id="nb-1"]/span/input''')
elem.send_keys("туточки логин")
elem = driver.find_element_by_xpath('''//*[@id="nb-2"]/span/input''')
elem.send_keys("туточки пароль")
#кнопка авторизации
elem = driver.find_element_by_xpath('''//*[@id="js"]/body/div[1]/div[1]/div[1]/form/div[4]/span/button''')
elem.click()
#cookies dump
pickle.dump(driver.get_cookies(), open("cookies.pkl","wb"))
#закрываю браузер  - куки в браузере не сохраняются
driver.close()
#открываю браузер заново
driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
#загружаю куки из дампа
cookies = pickle.load(open("cookies.pkl","rb"))
print(cookies) #смотрю что я загрузил из дампа
driver.delete_all_cookies()#выпилю старые прежде чем загрузить новые
for cookie in cookies:
    driver.add_cookie(cookie)
 
#открываю страничку для которой делал дамп куки
driver.get("https://ya.ru/")

на строке

driver.add_cookie(cookie)

Получаю ошибку, вот вывод на консоль, включая вывод принта куки:

Скрытый текст

 

Как мне это исправить? Гугл ответа, увы, не дал. Заранее спасибо.


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 887 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 августа 2016 - 06:55

chromedriver обнови. Был такой баг пару лет назад.


  • 0

#3 Alexnder

Alexnder

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Александр Андреевич

Отправлено 11 августа 2016 - 08:11

chromedriver обнови. Был такой баг пару лет назад.

я скачал 2.23 отсюда:

https://sites.google...river/downloads


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 887 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 августа 2016 - 11:38

 

chromedriver обнови. Был такой баг пару лет назад.

я скачал 2.23 отсюда:

https://sites.google...river/downloads

 

 

Да, ты прав - это последняя

 

Был похожий баг

https://bugs.chromiu...s/detail?id=728

 

но он был давно

 

 

Последний комент в 2016 :

It is hard to investigate the issue without a reproducible testcase.

Could any of you please provide minimal testcase that reproduces the issue?


  • 0

#5 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 12 августа 2016 - 08:12

Сразу скажу - не знаю, в чем проблема, с таким не сталкивалась, с куками не работала, поэтому сорри, если вопрос покажется глупым.

Просто вопрос: почему в тесте "ya.ru", а в куках из лога "'domain''.yandex.ua'"? Зашла сейчас на яндекс (без авторизации), у меня в куках - ".yandex.ru".

Cookies are disabled inside 'data:' URLs.

Может быть в этом дело?


  • 0

#6 bimbo

bimbo

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 07 декабря 2022 - 18:25

Enable GingerВ конечном итоге как стало получаться?

Cannot connect to Ginger Check your internet connection
or reload the browserDisable in this text fieldRephraseRephrase current sentenceEdit in Ginger×
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале