本篇文章简述了使用python的splinter实现163邮箱的自动登录,介绍了splinter自动化测试工具的使用,以及mac环境下的配置;
splinter,它是用来做自动化测试的,可以用Python程序模拟人操作浏览器,比如点击按钮,输入账号和密码,cookie操作等
配置好相关环境就可以开始写代码了,代码很简单,对照官方参考手册很快就能玩起来,其实相比之下感觉配置环境反而复杂多了
from splinter import Browser
browser = Browser('chrome')
browser.visit('https://mail.163.com')
# 163的登录框在iframe中,所以无法使用dom查找,可以splinter提供的相关API
with browser.get_iframe('x-URS-iframe') as iframe:
iframe.find_by_name('email').fill('yourName')
iframe.find_by_name('password').fill('yourPassWord')
iframe.find_by_id('dologin').click()
iframe.find_by_text('继续登录').click()
上述代码实现了163的简单登录,但是对于验证码便无能为力了,我们可以使用以下开源工具来进行简单的验证码识别
安装运行环境
brew install tesseract
pip install pytesseract
pip install Pillow
快速开始
进入你的项目目录中,执行以下代码:
from PIL import Image
import pytesseract
im = Image.open('cp.jpg')
print (pytesseract.image_to_string(im)) # 会输出验证码图片转成的文字,比如abcd
运行后发现,简单的验证码可以识别(无粘连),复杂的仍然识别不了.需要进一步的处理才行.