如何在Python中将会话和cookie从请求库加载到Selenium浏览器?

时间:2020-07-06 22:39:30

标签: python python-3.x selenium

我有这段代码可以保存请求中的Cookie

pickle.dump(session.cookies.get_dict(), open("cookies.pkl", "wb"))

我想在硒浏览器中使用它,所以我使用了这段代码,但是它不起作用

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

我收到此错误消息

driver.add_cookie(cookie)
  File "C:\Users\Allah\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 894, in add_cookie
    self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
  File "C:\Users\Allah\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Allah\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid type: string "wa-xd-sessionid", expected struct AddCookieParameters at line 1 column 28

1 个答案:

答案 0 :(得分:0)

ses = requests.session()
ses.get('https://www.google.com/')
driver = webdriver.Chrome()
driver.get('https://www.google.com/')
for item in ses.cookies:
    driver.add_cookie(
        {'httpOnly': False, 'name': item.name, 'value': item.value, 'domain': item.domain, 'path': item.path,
         'secure': item.secure})
相关问题