一、截屏方法一
driver.save_screenshot(filename/full_path)
如果括号里面直接写文件名,表示默认保存在当前脚本文件下,如果加上路径则保存在指定的路径下。
注意:这个截屏方式,是保存.png格式的图片,所以文件名后缀要为:.png格式。
(如果不写.png格式,会报错)
案例代码:
from selenium import webdriver
# 定义一个驱动的对象
driver=webdriver.Chrome()
# 打开需要测试的页面
driver.get("https://www.baidu.com")
# 截屏
driver.save_screenshot('jiujiu.png')
出来的效果:
二、截屏方法二
driver.get_screenshot_as_file(路径/文件名):
如果括号里面直接写文件名,表示默认保存在当前脚本文件下,如果加上路径则保存在指定的路径下。
注意:这个截屏方式,是保存.png格式的图片,所以文件名后缀要为:.png格式(如果不写.png格式,会报错)
案例代码:
# 打开需要测试的网页
driver.get('http://news.baidu.com/')
# 截屏
driver.get_screenshot_as_file('jiujiu2.png')
出来的效果:
三、截屏方式三
driver.get_screenshot_as_png():
这个方法是返回二进制的数据流。
然后再通过文件读写的方式去保存这个数据。
案例代码:
# 打开需要测试的页面
driver.get("https://sports.qq.com/nba/")
# 截屏
data=driver.get_screenshot_as_png()
# 通过文件读写的形式,把数据存储到本地
with open('jiujiu3.jpg','wb') as file:
file.write(data)
四、截屏方式四
driver.get_screenshot_as_base64():
这个方法获取的是base64编码格式的数据,所以需要先解码,
然后通过文件读写的形式存储解码后的数据,完成截屏。
这种方式需要在最前面先导入模块:import base64
Base64.b64decode():这个方法可以对括号里面的base64编码格式的数据进行解码。
案例代码:
# 打开需要测试的页面
driver.get("https://sports.qq.com/video/djsp.htm")
# 通过driver.get_screenshot_as_base64()方法可以获取屏幕的base64编码格式的数据
base64_data=driver.get_screenshot_as_base64()
# 需要对数据解码
image_data=base64.b64decode(base64_data)
# 通过文件读写的形式,保存解码后的数据
with open('jiujiu4.jpg','wb') as file:
file.write(image_data)
driver.quit()
出来的效果:
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】