Python Selenium add_cookie из текстового файла - PullRequest
0 голосов
/ 23 мая 2018

В настоящее время я использую селен в своем скрипте Python.Согласно приведенному ниже коду, я добавляю файлы cookie в свой драйвер, однако у меня уже есть довольно много файлов cookie, загруженных в текстовый файл cookies.txt (см. Ниже), который я также хотел бы добавить.Я ищу способ, чтобы я мог создать что-то вроде: driver.add_cookie(cookies from text file).Любая помощь приветствуется!

Текущий код add_cookies:

driver.add_cookie({"name": "__ibxl", "value": "1"})

Как выглядит cookies.txt:

[
{
    "domain": ".nike.com",
    "expirationDate": 1552017842,
    "hostOnly": false,
    "httpOnly": false,
    "name": "__ibxl",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1",
},
{
    "domain": ".nike.com",
    "expirationDate": 1558353842,
    "hostOnly": false,
    "httpOnly": false,
    "name": "__ibxu",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1",
    "id": 2
}
]

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы можете использовать модуль json для анализа вашего файла.

Что-то вроде этого должно работать:

import json
with open("cookies.txt") as cookie_file:
    cookies = json.load(cookie_file.read())
for cookie in cookies:
    driver.add_cookie(cookie)

Также важно, чтобы вы были на странице с похожим доменом перед добавлением файлов cookie.(driver.get('nike.com') в вашем случае)

0 голосов
/ 23 мая 2018

Вместо cookie.txt вы можете иметь cookie.py и импортировать его в основной файл программы.

cookie.py

cookies = [ { "domain":"xxx" }, {"domain":"yyy"} ]

main.py

from cookies import cookies
driver.add_cookie(cookies[0])

Это намного проще, чем анализировать файл вручную или открывать файл и использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...