selenium模拟登陆截取验证码
向百度大大下手吧。。。
大致思路
1.打开chrome
2.进入百度
3.点击登录
4.切换账号密码登录
5.尝试获取验证码截图(密码输错三次就可以出现验证码了)
GKD
from selenium import webdriver
from PIL import Image
import time实例化
browser = webdriver.Chrome()输入网址
browser.get('https://tieba.baidu.com/index.html')模拟点击登录(使用xpath定位)
browser.find_element_by_xpath('//li[@class="u_login"]').click()等待两秒
time.sleep(2)切换账号密码登录模式
browser.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]')输入账号密码(在已经输入错误两三次情况下再次输入账号密码会弹出验证码)
browser.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__userName"]').send_keys('111222221')
browser.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__password"]').send_keys('22222222222222221')截图
browser.save_screenshot('code.png')获取验证码位置 截图起点(x,y) 验证码大小(width,height)
photo = browser.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__verifyCodeImg"]')
x = photo.location['x']
y = photo.location['y']
width = photo.size['width']
height = photo.size['height']打开图片 截图
im = Image.open('code.png')
im = Image.open('code.png')
im = im.crop((x,y,x+width,y+height))
im.save('hehe.png')关闭当前窗口
browser.close()
有些网站在点击登录之后会弹出一个iframe或者frame,这种时候需要先进行切换进对应的frame或者iframe中才可以获取验证码位置
browser.switch_to.frame('frame对应的id')
之后继续查找位置进行截图就好了。
selenium模拟登陆截取验证码相关推荐
- java使用Selenium模拟登陆58(验证码登陆密码登陆)若快平台识别文字点击验证码
文章目录 写在前面 配置环境 Selenium入门 使用Selenium登陆58 若快平台识别文字点击验证码 附: By对象中的 xpath & cssSelector获取方式** 不打开浏览 ...
- selenium模拟登陆豆瓣并获取cookies
验证码处理与模拟登陆豆瓣,首先我们看到豆瓣没有cookies,我们需要用程序来模拟登陆获取cookies(当前有些情况下自己手动登陆后复制粘贴cookies也能登陆),该文主要讲方法,如何用selen ...
- python-selenium模拟登陆(滑动验证码)
python-selenium模拟登陆(滑动验证码) 普通滑动验证码验证 只需要我们将滑块拖动指定位置,处理起来比较简单.拖动之前需要先将滚动条滚动到指定元素位置,但是需要注意目标网站对seleniu ...
- 爬取知乎壁纸:selenium模拟登陆获取cookies,再将cookies传递给requests
selenium很好用,但是爬取大量数据时速度较慢. 通过selenium模拟登陆,获取cookies,再将cookies传递给requests,通过requests爬取加快速度. 以为知乎网爬取壁纸 ...
- selenium模拟登陆淘宝遇到的问题及解决
今天忽然想用爬虫登陆淘宝,于是就试着写一下, 我是用selenium模拟登陆,我先是打开淘宝登陆页面发现淘宝的登陆界面是这样的 我就用代码写了一个模拟登陆:如下这是最终代码 import time f ...
- selenium模拟登陆时截取验证码
模拟登陆时,经常会遇到有验证码的问题,那么就需要把验证码给截取下来. 如下为截取验证码程序,该程序的原始地址为:http://www.cnblogs.com/donaldlee2008/p/53045 ...
- selenium模拟登陆之截屏验证码位置跑偏
在用selenium做爬虫的模拟登陆时遇到验证码图片截取下来的和目标区域的图片不匹配 截到的: 目标是这样的: 明显坐标写的不对,导致截屏区域不是验证码的区域. 只能一步一步取修改坐标,来确定具体的图 ...
- selenium 模拟登陆 古诗文网 含验证码
ocr.py / 阿里云市场 import base64 import json import urllib.request from urllib import parse import ssl s ...
- 爬虫模拟登陆手机验证码_Python+scrapy爬虫之模拟登陆
一.126,163邮箱模拟登陆 # -*- coding:utf-8 -*-import timefrom selenium import webdriverdef login126_or_163em ...
最新文章
- 访客门禁系统供应商 首选钱林厂家
- 快速在PowerPoint文档中添加图表
- java类与对象_Java类与对象
- 一套完整的防火墙系统通常是由屏蔽路由器和代理服务器组成
- 洛谷 数论入门相关题目--2022.01.22
- Judge Complex(判断-复杂)
- python基础教程百度云-python从入门到精通视频教程百度云资源
- can not connect to mysql server翻译_Message:Can not connect to MySQL server的解决办法
- 两代人不同的求学之路
- 【Shell案例】【for循环、seq生成】3、输出7的倍数
- crontab 每天凌晨12点定时器_Linux下使用crontab实现mysql数据库自动备份
- 「大学必读」计算机专业学生一定要学好哪些课程?
- 无法启动因为计算机丢失ac1st16,Win7启动CAD时提示丢失ac1st16.dll如何修复
- 2021年浙江省跨境电商行业发展概况及发展趋势分析[图]
- BUUCTF misc 九连环
- 阿里云搭建MQTT服务器并进行本地和服务器端联通测试
- git 远端更新合并到本地
- 上海极家精装提醒你,买地板这些事一定知道
- 微软股价 2019 年飙升 55.3%,创十年来最佳表现!
- 计算机板块科技基金,3大类11小类27只科技指数基金全面分析,挑选科技指数基金看这里...
热门文章
- asp.net基础:网页中插入Skype链接标签
- 人声计算机怎么调音乐,教你几个办法让人声和伴奏完美的融合
- 〖Python自动化办公篇⑭〗- Excel 文件自动化 - 写入图表
- 零知识证明 - Groth16算法介绍
- edge 禁止网页自动刷新_如何在Microsoft Edge中自动翻译网页
- html实现led数字效果,jQuery实现LED数字效果
- 【Django】开发日报_4_Day:手机号码管理系统-创建项目并实现基本功能
- 红楼梦第一回ruby优化
- Java web阶段学习总结(华清远见)
- 当mybatisPlus与tk.mybatis遇到更新