Selenium 学习 8 - 截图

本文介绍了Selenium的两种截图方法:save_screenshot()和get_screenshot_as_file()。使用save_screenshot()需要注意文件名不能包含冒号,可以保存为相对或绝对路径。get_screenshot_as_file()也支持相对和绝对路径,其效果与save_screenshot()相同。
save_screenshot(filename)截屏png,
get_screenshot_as_file(filename)截屏png
get_screenshot_as_png()获取当前屏幕截图的二进制文件数据
get_screenshot_as_base64()获取当前屏幕截图base64编码字符串

实例

1. save_screenshot(filename)

  • 直接传入保存文件名,默认保存在当前目录下
from selenium import webdriver
from time import sleep, localtime, strftime


with webdriver.Chrome() as driver:
    driver.get('https://www.baidu.com/')
    driver.maximize_window()
    sleep(2)

    screentshot_time = strftime('%Y-%m-%d %H-%M-%S', localtime()) + '.png'
    driver.save_screenshot(screentshot_time)

NOTE:这里还犯了一个错误,在使用strftime()时,使用冒号 ‘%Y-%m-%d %H:%M:%S’,结果在运行完成之后既没有保存截屏,也没有异常,原因就是文件在命名时不能包含冒号

  • 可以使用相对路径
    screenshot_relpath = '.\\screenshots\\'
    screentshot_time = strftime('%Y-%m-%d %H-%M-%S', localtime())
    driver.save_screenshot(screenshot_relpath + screentshot_time + '.png')
  • 还可以使用绝对路径
from selenium import webdriver
from time import sleep, localtime, strftime
import os


with webdriver.Chrome() as driver:
    driver.get('https://www.baidu.com/')
    driver.maximize_window()
    sleep(2)

    # screenshot_relpath = '.\\screenshots\\'
    screenshot_abspath = os.getcwd() + '\\screenshots\\'
    screentshot_time = strftime('%Y-%m-%d %H-%M-%S', localtime())
    driver.save_screenshot(screenshot_abspath + screentshot_time + '.png')

2. get_screenshot_as_file(filename)

同样分别试了没有路径只有文件名,相对路径,以及绝对路径,最终效果与save_screenshot() 一样

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值