def screenshot(self, file_name, driver=None, point=[]):
    '截指定云手机图point:Poin,
    :param point: 截取范围  [x1,y1,x2,y2]
    :param driver: 浏览器
    :return:
    '
    el = driver.find_element(by=By.CSS_SELECTOR, value='#remoteVideo')

    # 截取截图
    full_screenshot = el.screenshot_as_png

    # 使用PIL加载全屏截图
    image = Image.open(BytesIO(full_screenshot))

    # 定义要截取的矩形区域(左上角坐标(x1,y1),右下角坐标(x2,y2))
    if point == []:
        x1 = 0
        y1 = 0
        x2 = el.size['width']
        y2 = el.size['height']
    else:
        x1 = point[0]
        y1 = point[1]
        x2 = point[2]
        y2 = point[3]
    # 从全屏截图中截取矩形区域
    region = image.crop((x1, y1, x2, y2))

    # 转换为24位深度
    region = region.convert('RGB')

    # 将截取的区域保存到文件
    region.save(file_name, 'PNG', bits=24)
    return region

本代码实现了以下功能:

  1. 截取云手机画面: 通过 Selenium 驱动浏览器,获取指定元素(例如,'#remoteVideo')的截图。
  2. 指定截取区域: 函数支持传入 point 参数,指定要截取的矩形区域,可以是完整画面或部分区域。
  3. 保存为24位深度 PNG: 代码将截取的区域转换为 24 位深度,并以 PNG 格式保存到指定文件。

使用该函数,你可以方便地从云手机上截取指定区域的画面,并以 24 位深度保存,适合各种场景的图片处理需求。

Python 云手机截图函数: 截取指定区域并保存为24位深度 PNG

原文地址: https://www.cveoy.top/t/topic/qAv3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录