WEB自动化的过程中遇到验证码的时候,有以下方法:
1、Debug模式启动浏览器(浏览器复用)(技术)--推荐
2、识别法(技术)--OCR
3、接口法(技术):开发人员提供接口,通过这个接口可以获取到图片验证码,只用于测试环境
4、移除法(非技术):让开发人员在测似乎环境直接去掉验证码
5、暗号法(非技术):万能验证码
6、Cookie跳过验证码(技术)
一、Debug模式启动浏览器(浏览器复用)(技术)--推荐使用方法:
1 Debug模式浏览器配置详解 1.1 浏览器路径问题 1)通常设置方式 找到浏览器的路径,配置到bat文件里头 2)浏览器路径中有空格或者中文或者特殊字符的设置方式 例如:C:\Program Files\Java 先配置浏览器路径到环境变量然后在cmd中检查是否可以直接输入chrome.exe来打开浏览器 然后把bat文件中的路径删掉,改成如下: chrome.exe --remote-debugging-port=9222
记得要重启pycharm,不然会提示chrome.exe 不是内部或外部命令。。。 PS:有同学只有C盘,会有文件无权限读取的情况发生,这个最好是分个D盘出来,不然解 决比较麻烦 1.2 编码问题
使用bat文件控制台会输出一些乱马上,通过如下方式解决 File > settings > Editor > File Encodings > 将 Project Encoding 设置为 Gbk 即可 PS:其实乱码也没啥影响,改了编码会影响到其他工程的运行,建议不改 1.3 需要进行预登陆 因为我们这种操作,相当于直接用本机的浏览器去访问淘宝,因此预登陆后就可以绕过淘宝 的诸多验证,只需要预登陆一次即可 1.4 以下报错信息不用管,用例可以正常执行
1.5 启动前,要关闭所有的谷歌浏览器 2 浏览器复用 通过debug模式浏览器实现在已打开的浏览器上继续运行自动化脚本调试 操作方式: 第一:注释掉打开浏览器的代码,让他不重新打开浏览器 1# os.popen("d:/chrome.bat") 第二:把已经执行完的步骤注释掉
第三:浏览器复用模式下:如果需要切换窗口,需要特殊处理 1.在页面上,点击回到第一个窗口 2.运行窗口切换代码 三、Cookie跳过验证码 首先获取网站登陆后的cookie,然后通过添加cookie的方式,实现网站登陆的目 的。我们用cook来表示xxxxxx的登录后的cookie。
注意:
登录时有勾选下次自动登录的请勾选,浏览器提示是否保存用户密码时请选择确 定,这样获取的cookie成功登陆的机率比较高 cookie获取方法: 利用开发者工具,编辑修改。F12打开开发者工具--->Application--->cookies,对对应的 值进行查看、编辑、修改
三、JS处理方案(滑动解锁)
滑动解锁问题 使用ActionChains功能,用鼠标按住滑块并移动练习网站:https://layuion.com/demo/slider.html 四、OpenCV 图像预处理:灰度化和二值化 PS:简单来说,要做图像文本识别,一般会将图片预处理成黑白的 1 图像二值化基本原理: 对灰度图像进行处理,设定阈值,在阈值中的像素值将变为1(白色部 分),阈值为的将变为0(黑色部分) 2 图像二值化处理步骤:
六、OCR图像识别 1 OCR原理 (Optical Character Recognition,光学字符识别)技术,将图片、照片上的文字内容,直接转换为文 本。opencv不自带ocr,即使从cv4.4以后的external中包含cv::text识别文字,也需要用户先预装 tesseract。
2 安装 需要安装的包: (1)CV2 注意:下面这个包,实际安装的是cv2,pycharm自动装是装不了的,必须使用下面命令 pip install opencv_python 2)pytesseract pip install pytesseract (3)需要安装一个软件,并配置环境变量: 安装软件tesseract-ocr 软件下载地址,下载最新的,根据操作系统选择: https://digi.bib.uni-mannheim.de/tesseract/ 在D盘建立文件夹Tesseract-OCR,于该目录下解压,安装到电脑。 配置环境变量 ①右键“此电脑”——设置——高级系统设置——环境变量——系统变量---path---编辑 ——新建,写入Tesseract文件的路径,配置环境变量——确定保存
标签:WEB,bat,浏览器,--,验证码,cookie,自动化,环境变量 From: https://www.cnblogs.com/gezirui/p/17583775.html