一,背景
因为验证码是动态生成的,每刷新一次,就变化一次,那有没有办法获取呢,答案有的。不然这写这编文章就没意义了。
二,思路
1,打开网页,先对整个页面截屏
2,获取验证码的html中的id
3,获取验证的坐标值
4,在之前获取到的图片中截取验证码部分
三,代码
#!/usr/bin/env python3
from selenium import webdriver
from PIL import Image
import time
driver = webdriver.Chrome()
driver.get("http://xxxxxx")
time.sleep(5)
driver.save_screenshot("bg.png")
el = driver.find_element_by_id("getVercode")
left = el.location["x"]
up = el.location["y"]
right = el.location['x'] + el.size['width']
below = el.location['y'] + el.size["height"]
print(left, up, el.size["width"], el.size["height"])
im = Image.open("bdbutton.png")
im = im.crop((left,up, right,below))
im.save("code.png")