使用selenium和python加载Cookie时出现问题

2024-09-25 00:32:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试访问一个网页,将cookie保存到csv文件中,然后稍后使用cookie—所有这些都与selenium和python一起使用。目前,我可以很好地保存cookie,但当我稍后尝试使用该cookie时,会出现以下错误:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: missing 'cookie'
  (Session info: chrome=84.0.4147.89)

以下是我保存cookie的代码:

from selenium import webdriver
import csv
outputdata = open('cookietest.csv', 'w', newline='')
outputWriter = csv.writer(outputdata)
driver=webdriver.Chrome()
driver.get("https://stackoverflow.com/")
cookies = driver.get_cookies()
print(cookies)
outputWriter.writerow([cookies])

下面是我加载带有cookies的网页的代码:

import csv
from selenium import webdriver
cookielist = open('cookietest.csv')
cookiereader = csv.reader(cookielist)
cookiedata = list(cookiereader)
curcookie = cookiedata[0][0]
driver=webdriver.Chrome()
driver.get("https://stackoverflow.com/")
driver.add_cookie(curcookie)

有人知道我做错了什么吗

谢谢


Tags: csv代码fromimport网页getcookiedriver
1条回答
网友
1楼 · 发布于 2024-09-25 00:32:24

cookie数据是字典列表,因此json是首选的文件格式

代码如下:

from selenium import webdriver
import json

print('get cookie')

driver=webdriver.Chrome()
driver.get("https://stackoverflow.com/")
cookies = driver.get_cookies()
with open('cookietest.json', 'w', newline='') as outputdata:
    json.dump(cookies, outputdata)

print('send cookie')

import json
from selenium import webdriver
with open('cookietest.json', 'r', newline='') as inputdata:
    cookies = json.load(inputdata)
curcookie = cookies[0]
driver=webdriver.Chrome()
driver.get("https://stackoverflow.com/")
driver.add_cookie(curcookie)

这是cookie json文件(格式化、截断)

[
    {
        "domain": ".stackoverflow.com",
        "expiry": 1629684418,
        "httpOnly": false,
        "name": "__qca",
        "path": "/",
        "secure": false,
        "value": "P0-1270404352-1595815618103"
    },
    {
        "domain": ".stackoverflow.com",
        "expiry": 1595815677,
        "httpOnly": false,
        "name": "_gat",
        "path": "/",
        "secure": false,
        "value": "1"
    },
    .........
]

相关问题 更多 >