airtest 指定元素截图裁剪
ef screenshot_by_element(poco):
element = poco(text='刷新二维码').parent().child()[2].offspring() # 元素路径
position = element.get_position()
size = element.get_size()
file_name = TestQRCode.screenshot_qr_code()
img = Image.open(file_name) # 原图/全屏图片
width, height = device().get_current_resolution()
element_left_top = ((position[0] * width) / 2 - 50, (position[1] * height) - (size[1] * height) / 2 - 50)
element_right_bottom = (position[0] * width * 1.5 + int(size[0] + 50),
(position[1] * height) + (size[1] * height) / 2 + 50)
element_box = (element_left_top[0], element_left_top[1], element_right_bottom[0], element_right_bottom[1])
# element_box 左上角坐标x,y 和右下角坐标x,y
cropped_img = img.crop(element_box)
cropped_img.save(file_name)
return file_name
备注:坐标各自差值50是为了截图不局限 可自定义调整