如何使用Selenium截取窗口指定尺寸区域的截图?
实现Selenium指定区域截图的方法
首先安装所需的图片处理依赖库:pip install pillow
实现逻辑
- 先用Selenium生成全量截图
- 用Pillow加载全量截图,按照指定坐标裁剪对应区域
- 保存裁剪后的目标区域截图即可
适配你需求的完整代码示例
from selenium import webdriver from PIL import Image import os # 此处省略你原有逻辑中的driver初始化等代码 # 1. 先保存临时全量截图 full_screenshot_path = r'C:\Users\youna\Pictures\1\full_temp.png' driver.save_screenshot(full_screenshot_path) # 2. 加载全图,定义裁剪区域,参数格式为(左边界, 上边界, 右边界, 下边界),适配你给出的坐标参数 crop_area = (240, 200, 600, 600) img = Image.open(full_screenshot_path) # 3. 裁剪并保存目标区域截图 cropped_img = img.crop(crop_area) cropped_img.save(r'C:\Users\youna\Pictures\1\{}.png'.format(codigos_1[i])) # 不需要保留全量截图的话可以删除临时文件 os.remove(full_screenshot_path)
注意事项
- 如果裁剪结果和预期位置不符,先检查系统显示缩放比例,Windows如果设置了125%/150%缩放,需要把坐标乘以对应缩放比例再使用
- 如果是截取页面内的指定元素,也可以直接获取元素的
location和size属性自动计算裁剪坐标,无需手动写死参数
内容的提问来源于stack exchange,提问作者Spvda
相关产品推荐
相关产品推荐

