通过页面截图自动获取验证码图片

比较慢,必须要有验证码才能生效,否则报错,测试的时候自己手动点出验证码吧。。

这个是参考了某个博客的,但是地址我忘了,就这样吧。。

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

# 安装PIL包
# pip install pillow
from PIL import Image
import time
driver = webdriver.Chrome()
driver.get('https://accounts.douban.com/login?alias=80713775%40qq.com&redir=https%3A%2F%2Fwww.douban.com%2F&source=index_nav&error=1013')
# 找到验证码图片
time.sleep(15)
ele = driver.find_element_by_xpath('//img[contains(@id,"captcha_image")]')
# 截取全屏
driver.save_screenshot('big.png')
# 通过location定位x,y
left = ele.location['x']
top = ele.location['y']
# 通过x,y的值拼接长和宽
right = left + ele.size['width']
bottom = top + ele.size['height']
# 创建img对象
# open()第一个参数 fp:filepath 文件路径
# 打开刚截取的全屏图
img = Image.open('big.png')
# 定位到需要截取的地方
print(left,top,right,bottom)
img = img.crop((left, top, right, bottom))
# 截取成功并保存到本地
img.save('hello.png')

 

posted @ 2018-12-20 08:43  猪啊美  阅读(1073)  评论(0编辑  收藏  举报