Selenium使用cookie登录网站

一、获取cookie

#coding=utf-8
from selenium import webdriver
from PIL import Image
import time
global driver
try:
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("登录网址")
    cookies = driver.get_cookies()
    print("抓取前:")          #此处获取的是登陆前的cookies
    print(cookies)      
    time.sleep(20)            #需要在20秒内,手动输入账号密码完成登录才会有cookies信息
    cookies = driver.get_cookies()
    print("抓取后:")  #此处获取的是登陆后的cookies
    print(cookies)
finally:
    a = "n"
    while a == "n":
        a = input("是否关闭浏览器驱动?y/n\n")
        if a == "n":
            pass
        else:
            time.sleep(3)
            driver.quit()

二、利用cookie进行登录

#coding=utf-8
from selenium import webdriver
from PIL import Image
import time
global driver
try:
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("登录网址")
    coo = [抓取前的cookie,抓取后的cookie]

    for cookie in coo:               #这里是将变量coo里的字典字段写到driver.add_cookie中
        if 'expiry' in cookie:       #expiry这个字段是指cookid的过期时间,这段代码是把'expiry'删除,不让加入到cookie中,不然会报错
            del cookie['expiry']
        driver.add_cookie(cookie)
    time.sleep(5)
    driver.get("登录网址")            #不需要输入密码,成功登陆网页
finally:
    a = "n"
    while a == "n":
        a = input("是否关闭浏览器驱动?y/n\n")
        if a == "n":
            pass
        else:
            time.sleep(3)
            driver.quit()
posted @ 2020-06-01 17:24  hiayap  阅读(1912)  评论(0)    收藏  举报