成都网站优化实战,网络公司如何建网站,网站项目建设的定义,免费软件在线下载因为种种原因没能实现愿景的目标#xff0c;在这里记录一下中间结果#xff0c;也算是一个收场吧。这篇文章主要是用selenium解决滑块验证码的个别案列。
思路#xff1a; 用selenium打开浏览器指定网站 将残缺块图片和背景图片下载到本地 对比两张图片的相似地方#x…因为种种原因没能实现愿景的目标在这里记录一下中间结果也算是一个收场吧。这篇文章主要是用selenium解决滑块验证码的个别案列。
思路 用selenium打开浏览器指定网站 将残缺块图片和背景图片下载到本地 对比两张图片的相似地方计算要滑动的距离 规划路线移动滑块
01实现步骤 用selenium打开浏览器浏览指定网站
1、找到chromedriver.exe的路径
点击开始找到谷歌图标》右键更多》打开文件位置》右键谷歌快捷方式》属性 》打开文件所在的位置 》复制路径 2、代码 02 将残缺块图片和背景图片下载到本地 1、找到图片位置
打开网页进入开发者工具找到图片位置 2、代码 03 对比两张图片的相似地方计算要滑动的距离
1、用matchTemplate获取移动距离
因为背景图片中的残缺块位置和原始残缺图的亮度有所差异直接对比两张图片相似的地方往往得不到令人满意的结果在此要对两张图片进行一定的处理为了避免这种亮度的干扰笔者这里将两张图片先进行灰度处理再对图像进行高斯处理最后进行边缘检测。 将JPG图像转变为4通道RGBA 2、代码 3、检验效果
为了验证思路和方法是否得当这里将滑块图片与背景图片进行拼接为后面埋下一个小坑。 04 规划路线移动滑块 1、点击滑块移动 用第3节已经获取到的距离点击滑块进行移动 神奇的事情是坑来了没有匹配成功。
2、匹配失败原因
这里有以下两点原因 图片尺寸发生了变化距离要进行转换。 滑块滑动时滑块和残缺块的相对位置有变动。
首先解决图片尺寸变化问题找到网页中图片大小345x172.500 下载到本地图片大小480x240 所以要对距离进行以下处理 关于第二个问题这里没有找到很好的测量工具测量出来好在验证码对位置精确度要求不高就一个个试数吧。 05 补充 在对极验验证码进行学习中有的网站对移动轨迹进行了验证如果滑动太快也会被识别出机器操作为了模拟人工操作出色的程序员写出了一个魔幻移动轨迹 举个例子我们可以先超过目标再往回移动。 06 完整代码 资源分享
下面这份资源对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库希望也能帮助到你