selenium+ python3 添加cookie绕过验证码登陆(二)

selenium+ python3 添加cookie绕过验证码登陆
 1.背景介绍
最近做一个Web自动化项目,但是每次登陆都需要验证码验证,真的是头痛啊,破解验证码需要对验证码图片进行训练模型并且识别率低,查找文档,发现webdriver还提供add_cookie这个方法,完美解决了登录验证的问题。

2.  添加cookie方法:driver.add_cookie()
1.add_cookie(cookie_dict)方法里面参数是cookie_dict,说明里面参数是字典类型。

2.add_cookie的源码。

  1. add_cookie字典格式。

cookie = {
“domain”: “.baidu.com”, # 域名
“name”’: name, # cookie的name
“value”: value, # cookie的value
“expires”: “”, # cookie的过期时间
‘path’: ‘/’, # 路径
‘httpOnly’: False, # 自行百度,这里不多描述
‘HostOnly’: False, # 自行百度,这里不多描述
‘Secure’: False # 自行百度,这里不多描述}
我们可以通过查看谷歌浏览器的cookie构造来校验我们的字典格式

3.实践是否能跳过登录----拿百度举例,以下是代码。

“”"
@author: luyefei
@file:skip_captcha.py
@time:2019/2/20
“”"
from selenium import webdriver
import time

class SkipCaptcha(object):

def __init__(self):
    self.driver = webdriver.Chrome()
    self.cookie = {"domain": ".baidu.com",
                   'name': "BAIDUID",
                   'value': "777DDDB3D7FCC909D29A0D06C9F44166CA8:FG=1",
                   "expires": "2039-02-15T08:24:00.000Z",
                   'path': '/',
                   'httpOnly': False,
                   'HostOnly': False,
                   'Secure': True}

def login(self):
    driver = self.driver
    driver.get("http://www.baidu.com/")
    time.sleep(2)
    driver.add_cookie(self.cookie)
    time.sleep(2)
    driver.get("https://i.baidu.com/")

if name == ‘main’:
r = SkipCaptcha()
r.login()

作者:uuushio
来源:CSDN
原文:https://blog.csdn.net/LUYEFEI0923/article/details/87801907
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(selenium+ python3 添加cookie绕过验证码登陆(二))