现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录
目录
1、webdriver的添加cookies的方法
2、举个栗子
1、webdriver的添加cookies的方法
webdriver.add_cookie() #用add_cookies方法添加需要的cookies信息
一般情况下,填写name和values值就可以,格式如下:
c1={u'name':‘XX’,
u'value':XX}
如果仅填写name和value登录不了,则可以继续添加其他的
c1 = {u'domain': u'XX',
u'name': u'XX',
u'value': u'XX',
u'expiry': 1533197286, #时间戳
u'path': u'/',
u'httpOnly': True, #防脚本攻击
u'secure': True} 在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS
2、举个栗子
第一步:访问需要登录后才能访问的页面
driver=webdriver.Firefox()
driver.get("https://www.eolinker.com/#/home/project/api/") #需要登录后才能访问的一个接口
第三步:添加cookies
c1={u'name': u'userToken',
u'value':u'%242y%2410%24peAtYKJZVoYsbnWyksn3Nep2q5KS5LpJdJWZ7cq3s3TFH83A5yxz2'}
c2={u'name': u'verifyCode',
u'value': u'4dacda8241457041ad4846ac23b8b023'}
driver.add_cookie(c1)
driver.add_cookie(c2)
第四步:刷新页面,看到的就是登录后的页面
time.sleep(3)
driver.refresh()
代码如下:
# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.eolinker.com/#/home/project/api/") #需要登录后才能访问的一个接口
# 第一步:一般的用name和value就够了
c1={u'name': u'userToken',
u'value': u'%242y%2410%24peAtYKJZVoYsbnWyksn3Nep2q5KS5LpJdJWZ7cq3s3TFH83A5yxz2'}
c2={u'name': u'verifyCode',
u'value': u'4dacda8241457041ad4846ac23b8b023'}
driver.add_cookie(c1)
driver.add_cookie(c2)
time.sleep(3)
driver.refresh() #刷新页面,这时候看到的就是登录后看到的页面
time.sleep(3)
driver.close()