python+selenium 通过添加cookies或token解决网页上验证码登录问题

简介: cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。

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()#刷新
目录
相关文章
|
1月前
|
数据采集 Web App开发 数据挖掘
利用Python和Selenium实现定时任务爬虫
利用Python和Selenium实现定时任务爬虫
|
6天前
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
一步步教你用Python Selenium抓取动态网页任意行数据
|
1月前
|
前端开发 安全 JavaScript
Python的Flask框架的学习笔记(前后端变量传送,文件上传,网页返回)内含实战:实现一个简单的登录页面
Python的Flask框架的学习笔记(前后端变量传送,文件上传,网页返回)内含实战:实现一个简单的登录页面
|
8天前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
1月前
|
Web App开发 负载均衡 前端开发
Python网络数据抓取(7):Selenium 模拟
Python网络数据抓取(7):Selenium 模拟
43 5
|
1月前
|
人工智能 开发工具 Python
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
2024年利用Python突破验证码限制,2024年最新Python高级开发工程师面试题
|
1天前
|
数据采集 计算机视觉 Python
Python验证码的实操讲解
Python验证码的实操讲解
|
1月前
|
Web App开发 Ubuntu Linux
Linux无图形界面环境使用Python+Selenium实践
【5月更文挑战第1天】Linux无图形界面环境使用Python+Selenium实践
89 2
|
1月前
|
前端开发 Java 测试技术
selenium+python自动化测试--登录
selenium+python自动化测试--登录
22 2
|
1月前
|
数据采集 文字识别 测试技术
神器!使用Python 轻松识别验证码
本文介绍了使用Python进行验证码识别,主要包括安装Tesseract OCR和相关Python库,如`pytesseract`和`opencv-python`。通过Pillow加载验证码图片,使用`pytesseract`进行简单数字验证码识别。对于数字字母混合的验证码,先进行二值化和降噪处理,然后使用`cv2.findContours`分割字符并分别识别。这种方法适用于自动化测试和爬虫中的验证码处理。
250 2