怎么获取验证码呢?我也很懵逼,验证码怎么处理呢?
1.最简单就是在代码中注释掉验证码呀,哈哈哈哈哈;
2.给你一个万能不变的验证码;
…
当然这些方法不是不行,只是不符合用户操作场景,接下就来获取验证码的问题吧…以问题驱动编码也是个不错的方式
解决思路:将整个注册页面保存下来,定位图片验证码图片的坐标,计算图片四个定点的位置,将图片验证截取;然后利用第三方库或者专门的图片验证码识别接口进行图片验证码文字的识别
GitHub代码commits id:3d95aa8
一、保存验证码图片
from PIL import Image
# 获取验证码:①先将验证码的图片保存下来;②使用第三方库识别图片中的字母
# 将注册页面的保存为图片
driver.save_screenshot("./image/register_screenshot.png")
# 定位验证码图片的位置,并截取该位置的图片
code_element = driver.find_element_by_id("getcode_num")
print(code_element.location) # {'x': 548, 'y': 523}
left = code_element.location['x']
top = code_element.location['y']
right = code_element.size