Selenium сохраняет информацию о сеансе, чтобы избежать повторных входов в систему.
Selenium сохраняет информацию о сеансе, чтобы избежать повторных входов в систему.

Предисловие

  • В некоторых реальных сценариях разработки мы используем Selenium При выполнении автоматического тестирования вам необходимо сохранять информацию о сеансе пользователя, чтобы избежать повторных входов в систему. Сегодняшняя статья покажет вам, как использовать ее на практике. Selenium Сохраните информацию о сеансе.

Версия

  • Python 3.x

общая идея

  • Когда мы открываем страницу, проверьте, существует ли файл информации о сеансе. Если он существует, загрузите информацию о сеансе напрямую. Если он не существует, войдите в систему и сохраните информацию о сеансе в локальный файл.

упражняться

  • Когда мы впервые откроем страницу, войдите в систему и Сохраните информацию о сеансе.
Язык кода:python
кодКоличество запусков:0
копировать
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pickle

# Первый вход в систему
driver = webdriver.Chrome()

driver.get("https://example.com/login")

# Войдите используя автозаполнение или другой
username_input = driver.find_element_by_name("username")
password_input = driver.find_element_by_name("password")
username_input.send_keys("your_username")
password_input.send_keys("your_password")
password_input.send_keys(Keys.RETURN)

# После успешного входа в систему сохраните файлы cookie, возвращенные функцией driver.get_cookies(), в файл с именем «cookies.pkl».
pickle.dump(driver.get_cookies(), open("cookies.pkl", "wb"))

# закрытие driver
driver.close()

# второй визит
driver = webdriver.Chrome()

# Вам необходимо зайти сюда заранее перед загрузкой. cookies Иначе появится InvalidCookieDomainException: Message: invalid cookie domain
driver.get("https://example.com/login")

# нагрузка "cookies.pkl" Информация о китайской сессии
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    driver.add_cookie(cookie)

# Доступ с информацией о сеансе
driver.get("https://example.com/xxx")

вопрос

invalid cookie domain

  • Метод загрузки Google по умолчанию: data domain,Поэтому вам необходимо сначала посетить целевую страницу и переключиться на соответствующуюиз domain:
Язык кода:python
кодКоличество запусков:0
копировать
driver.get("https://example.com/login")

# нагрузка "cookies.pkl" Информация о китайской сессии
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    driver.add_cookie(cookie)
  • Кроме того, если целевая страница, которую вы посещаете, является доменным именем первого уровня и сохраненное cookies Доменные имена второго уровня существуют в domain,Тогда это тоже появится invalid cookie domain извопрос, ты можешь cookie из domain Доменное имя второго уровня domain Преобразовать в Доменное имя первого уровня domain Затем загрузите, например:
Язык кода:txt
копировать
cookies domain:
.example.com
.example.com
xxx.example.com
xxx.example.com

Затем все необходимо отрегулировать, чтобы:
.example.com
.example.com
.example.com
.example.com

Профиль

👋 привет, я Lorin Лорейн, один Java Разработчик бэкэнд-технологий!девиз:Technology has the power to make the world a better place.

🚀 Моя страсть к технологиям — это моя мотивация продолжать учиться и делиться ими. Мой блог — это место об экосистеме Java, серверной разработке и последних технологических тенденциях.

🧠 как энтузиаст серверных технологий Java,Я не только увлечен изучением новых возможностей языка и технической глубины.,Также с удовольствием делюсь своими идеями и лучшими упражнениями. Я верю, что обмен знаниями и сотрудничество сообщества могут помочь нам расти вместе.

💡 В моем блоге вы найдете информацию об основных концепциях Java, JVM. В основе технологии лежат общие фреймворки, такие как Spring и Mybatis. 、Управление базами данных, например MySQL、RabbitMQ、Rocketmq и другое промежуточное программное обеспечение для сообщений、Оптимизация производительности и другой контентиз Подробная статья。Я также поделюсь некоторыми советами и решениями по программированию.вопросизметод,Чтобы помочь вам лучше освоить программирование на Java.

🌐 Я поощряю взаимодействие и создание сообщества,Поэтому, пожалуйста, оставляйте свои комментарии, предложения или запросы по теме.,Дайте мне знать, что вас интересует. также,Поделюсь последними новостями Интернета и технологий.,Чтобы вы всегда были в курсе последних событий в мире технологий. Я с нетерпением жду совместной работы с вами на пути к технологиям,Давайте вместе исследовать безграничные возможности мира технологий.

📖 Следите за обновлениями моего блога и давайте вместе стремиться к техническому совершенству.

Я участвую в последнем конкурсе эссе для специального учебного лагеря Tencent Technology Creation 2024. Приходите и разделите со мной приз!

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.