美文网首页selenium我爱编程
Python自动化——识别验证码2,保存验证码图片

Python自动化——识别验证码2,保存验证码图片

作者: 努力学习的小白 | 来源:发表于2017-12-21 21:32 被阅读64次
    最近发现小伙伴不会保存验证码图片。所以我这里以百度为例。
    写了一个非常简单例子。
    主要用到的是python下面的三个库
    步骤如下:

    1.通过selenium定位元素,获取元素的坐标的尺寸
    2.截取全图
    3.通过截取验证码元素的位置,获取验证码的图片

    from selenium import webdriver
    from PIL import Image
    import time
    
    #  打开一个谷歌浏览器的实例
    b = webdriver.Chrome()
    b.get("https://www.baidu.com/")
    b.maximize_window() #  最大化浏览器
    time.sleep(2)
    # 获取元素的尺寸
    size =  b.find_element_by_xpath("//*[@id=\"lg\"]/img").size
    # 获取元素的坐标
    location  =  b.find_element_by_xpath("//*[@id=\"lg\"]/img").location
    # 截取全屏
    b.save_screenshot('1.png')
    # 设置好图片的位置
    left = location['x']
    upper = location['y']
    right = size['width'] + location['x']
    lower = size['height'] + location['y']
    # 打开全屏,进行验证码截取
    img = Image.open('1.png')
    #  将图片的位置作为一个元祖传入
    im = img.crop((left, upper, right, lower))
    # 最后保存图片
    im.save('img.png')
    
    截取后的百度图片

    再搭配上:http://www.jianshu.com/p/b609150d6f02 识别验证码这个教程。
    就可以非常轻松的完成自动化验证码识别了。

    相关文章

      网友评论

        本文标题:Python自动化——识别验证码2,保存验证码图片

        本文链接:https://www.haomeiwen.com/subject/goxowxtx.html