June 3, 2022

Як зберігати та завантажувати cookies у selenium

Сьогодні ми напишемо невеличку програмку яка дозволить нам авторизуватись на сайт лише раз(ну якщо ви не забудете нажати ентер або не дочекаєтесь збереження як я під час тестів), а потім програма сама буде підвантажувати cookies.
Починаємо.

from selenium import webdriver
import pickle

Імпортим ліби.
Selenium для керування браузером та pickle для зберігання/завантаження cookies.

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://stackoverflow.com")

Створюємо об'єкт driver для керування браузером.
Заходимо в повноекранний режим(просто не повноекранний режим мене бісить).
Відкриваєм сайт без якого програмування майже неможливе(stackoverflow).

try:
    with open("cookies.pkl", "rb") as f:
        cookies = pickle.load(f)
    for cookie in cookies:
        driver.add_cookie(cookie)

Починаєм блок try.
Тут ми пробуєм відкрити файл і прочитати cookies в змінну.
Далі завантажуєм їх в браузер.
Якщо що структура with просто за нас в кінці закриває файл що корисно(і так не закриті файли це погано).

except:
    input()
    with open("cookies.pkl", "wb") as f:
        pickle.dump(driver.get_cookies(), f)

Якщо помилка чекаєм нажаття ентер і після цього записуєм cookies в файл.

else:
    driver.refresh()

Якщо помилки не було то перезавантажуєм сторінку щоб сайт побачив що ми авторизовані.

print("Done")

Пишем готово.
Це просто для мене щоб я не закрив прогу раніше збереження cookies.
В повноцінній програмі вам воно не треба.

На цьому все.
Всім удачі!
Підготовлено каналом: https://t.me/cryptopidval