cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。
下面举个栗子
1、先把正常的登录方式码一下:
browser = webdriver.Chrome(executable_path='chromedriver.exe') browser.get("https://******") #登录 browser.find_element_by_id("username").send_keys("***") browser.find_element_by_id("password").send_keys("***") browser.find_element_by_id("logInBtn").click() 这是没有验证码的登录,如果有验证码,需要加一句获取和输入验证码,我本意是要告诉你如何获取cookie,这里有没有验证码无所谓。
2、下面是获取cookie
#获取cookie cookies=browser.get_cookies() print(cookies) 打印出来的就是cookie的内容,你也可以直接从浏览器里面登录后获取cookie。
3、拿到cookie后接下来就可以向浏览器发送cookie了
#添加cookie #browser.add_cookie({'name': '...', 'value': '...'}) c1={'domain': '.qunadai.com', 'expiry': 1548387538, 'httpOnly': False, 'name': 'UM_distinctid', 'path': '/', 'secure': False, 'value': '164d9d16fa6299-0b0c0d8568386d-2d604637-3d10d-164d9d16fa7a72'} c2={'domain': 'wap-sit.qunadai.com', 'expiry': 1548387549, 'httpOnly': False, 'name': 'CNZZDATA1271582478', 'path': '/', 'secure': False, 'value': '941553296-1532663028-%7C1532663028'} browser.add_cookie(c1) browser.add_cookie(c2) 添加cookie使用方法browser.add_cookie(),注意cookie格式是key-value的格式。
4、token登录
有的网页不用cookies,有自己的token,没关系,继续试试token #获取token token=browser.execute_script('window.localStorage.getItem("token")') print(token) #添加token js='window.localStorage.setItem("token","token值")' browser.execute_script(js) browser.refresh()#刷新