猿问

将 cookie 导入 Selenium 不起作用

登录Facebook后,我使用以下方法收到cookiedriver.get_cookies()


输出:



[{'domain': '.facebook.com', 'expiry': 1609944355, 'httpOnly': True, 'name': 'fr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '19KsJJcu9iZcNDw80.AWUnObiYyWlbmsSbMaAoTBQ3Qkg.BffyYn.EY.AAA.0.0.BffyYq.AWWxZSl5V8s'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': True, 'name': 'xs', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-1'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': False, 'name': 'c_user', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '100055628751137'}, {'domain': '.facebook.com', 'expiry': 1665240357, 'httpOnly': True, 'name': 'datr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_X5OBe55yRMjKU-d8nSYQ'}, {'domain': '.facebook.com', 'expiry': 1602773165, 'httpOnly': False, 'name': 'dpr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '1.25'}, {'domain': '.facebook.com', 'expiry': 1602258362, 'httpOnly': True, 'name': 'spin', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'r.1002790228_b.trunk_t.1602168365_s.1_v.2_'}, {'domain': '.facebook.com', 'expiry': 1602773164, 'httpOnly': False, 'name': 'wd', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': '1036x684'}, {'domain': '.facebook.com', 'expiry': 1665240361, 'httpOnly': True, 'name': 'sb', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_XwAJTQy5L-W6Ivkp2MBC'}]

然后我将它们保存在变量中cookies,当我尝试通过该方法导入 cookie 时driver.add_cookie(),出现异常:


InvalidArgumentException

Message: invalid argument: missing 'cookie'

  (Session info: chrome=85.0.4183.121)

代码:


driver = webdriver.Chrome()

driver.get('https://facebook.com')


driver.add_cookie(cookies)

driver.get('https://facebook.com')

尝试添加一个循环:


for cookie in cookies:

  driver.add_cookie({'cookie' : cookie})

没有任何帮助...我做错了什么?


PS:这个我已经看过了



慕村225694
浏览 164回答 1
1回答

ibeautiful

事实上,你已经快到了。这个函数的参数add_cookie(cookie_dict)是字典形式的,所以在使用之前解析你得到的cookie到字典中。试试这个代码:cookies = [{'domain': '.facebook.com', 'expiry': 1609944355, 'httpOnly': True, 'name': 'fr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '19KsJJcu9iZcNDw80.AWUnObiYyWlbmsSbMaAoTBQ3Qkg.BffyYn.EY.AAA.0.0.BffyYq.AWWxZSl5V8s'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': True, 'name': 'xs', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '4%3A8K8IO-G4AqVxpw%3A2%3A1602168362%3A-1%3A-1'}, {'domain': '.facebook.com', 'expiry': 1633704358, 'httpOnly': False, 'name': 'c_user', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '100055628751137'}, {'domain': '.facebook.com', 'expiry': 1665240357, 'httpOnly': True, 'name': 'datr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_X5OBe55yRMjKU-d8nSYQ'}, {'domain': '.facebook.com', 'expiry': 1602773165, 'httpOnly': False, 'name': 'dpr', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': '1.25'}, {'domain': '.facebook.com', 'expiry': 1602258362, 'httpOnly': True, 'name': 'spin', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'r.1002790228_b.trunk_t.1602168365_s.1_v.2_'}, {'domain': '.facebook.com', 'expiry': 1602773164, 'httpOnly': False, 'name': 'wd', 'path': '/', 'sameSite': 'Lax', 'secure': True, 'value': '1036x684'}, {'domain': '.facebook.com', 'expiry': 1665240361, 'httpOnly': True, 'name': 'sb', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'JyZ_XwAJTQy5L-W6Ivkp2MBC'}]for cookie in cookies:  driver.add_cookie(cookie)
随时随地看视频慕课网APP

相关分类

Python
我要回答