selenium截屏保存、截取特定区域的图片

    browser = webdriver.Chrome()
    wait = WebDriverWait(browser, 10)
    browser.get('https://www.baidu.com')
    time.sleep(3)

    browser.get_screenshot_as_file('C:\\Users\\zd\\Desktop\\baidu.png')
    # 或者 
    # driver.save_screenshot('full_snap.png')
    # page_snap_obj=Image.open('full_snap.png')

注意file中是两个\\

以下是通过截取全屏,再定位到目标(验证码)图片进行截取目标图片并保存。

from PIL import Image

def get_snap(driver):  # 对目标网页进行截屏。这里截的是全屏
    driver.save_screenshot('full_snap.png')
    page_snap_obj=Image.open('full_snap.png')
    return page_snap_obj


def get_image(driver): # 对验证码所在位置进行定位,然后截取验证码图片
    img = driver.find_element_by_class_name('code')
    time.sleep(2)
    location = img.location
    print(location)
    size = img.size
    left = location['x']
    top = location['y']
    right = left + size['width']
    bottom = top + size['height']

    page_snap_obj = get_snap(driver)
    image_obj = page_snap_obj.crop((left, top, right, bottom))
    # image_obj.show()
    return image_obj  # 得到的就是验证码

 

更多粉丝可见的文章,欢迎点击关注。

  • 11
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值