每次登陆川农wifi都要输入密码,账号,验证码。好麻烦有木有,作为一个伪技术工作者,本着装逼的原则,准备自己写个脚本自动登陆wifi,川农校园wifi验证码简单,随便处理下识别率几乎百分百,脚本实用性相当高!
原理:使用自动化测试库selenuim操作谷歌浏览器输入账号,密码,验证码,点击登录。本脚本难点在验证码的识别.
安装和配置selenuim这里有很多坑,这里不是我们的重点,就不细讲,改天再写篇文章吧.....
讲难点:验证码识别,该验证码是镶嵌在网页中的(换句话说是js动态加载得到的),常用的访问网页下载获取验证码行不通,于是用第二个方法:selenuim截取部分屏幕,用PIL下的Image模块处理获取验证码。
crop() : 从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left, upper, right, lower),坐标系统的原点(0, 0)是左上角。是crop((left,upper,right,lower)),有两层括号!
这里利用selenuim的location获取验证码图片的left和right的值。
element = driver.find_element_by_id('c:/python/screen.png') #打开所裁图片
left = int(element.location['x'])