屏幕截图可用这几种方式:
pyscreenshot
模块、
mss
模块、
PIL
模块的
ImageGrab
类
浏览器截图可用selenium库里的
screenshot
方法
一、屏幕截图
1. pycreenshot模块
保存图片的格式,可以是:
png、jpg、bmp、gif
pyscreenshot模块是python的内置模块,截屏所需要的时间最小。
安装模块:
pip install pyscreenshot
import pyscreenshot
picture = pyscreenshot.grab() # 截图
picture.show() # 打开截图
picture.save(r'F:\Archer\picture.png') # 保存截图
按坐标截屏(截部分)
import pyscreenshot
picture = pyscreenshot.grab(boox=100,100,500,600) # 截图,boox的参数为:x1,y1,x2,y2
picture.save(r'F:\Archer\picture.gif') # 保存截图
扩展:定时截图
import pyscreenshot,time
for x in range(3600):
picture = pyscreenshot.grab() # 截图
picture.save(r'F:\Archer\picture{}.png'.format(x)) # 保存截图
time.sleep(10)
2. PIL模块的ImageGrab类
保存图片的格式,可以是:png、jpg、bmp
from PIL import ImageGrab
img = ImageGrab.grab()
# img = ImageGrab.grab(bbox=(100,100,800,500))
img.save("archer/image2.png")
截取的图片,可以用img.show(),img.save()等方法
注:保存的文件,如果只是文件名,则保存至当前代码文件所在目录。如果是相对路径,如"archer/image2.png",则需当前代码文件所在目录下存在archer文件夹,否则报错。如果是绝对路径,不存在报错。
3. mss模块
保存图片的格式,可以是:png、jpg、bmp
安装mss库:
pip install mss
from mss import mss
with mss() as screen:
screen.shot(output="image3.jpg")
二、浏览器截图
Webdriver自带截图功能,
get_screenshot_as_file
(),
save_screenshot
()
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.cnblogs.com/rider-zhou/")
time.sleep(3)
driver.save_screenshot("picture.png") # 保存在当前代码文件所在目录下
driver.save_screenshot(r"F:\Archer\archer\picture2.jpg")
driver.get_screenshot_as_file("F:\\Archer\\archer\\picture3.gif")
driver.close()