Selenium屏幕截图

Webdriver内置了一些在测试中捕获屏幕的方法:

方法方法描述
*save_screenshot(filename)获取当前屏幕截图并保存为指定文件,filename为指定保存的路径或文件名
get_screenshot_as_base64()获取当前屏幕截图base64编码字符串
*get_screenshot_as_file(filename)获取当前屏幕截图,使用完整的路径
get_screenshot_as_png()获取当前屏幕截图的二进制文件数据

以下实例,将在百度搜索框搜索#selenium#的结果进行一个截图:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By


class TestCase(object):
    def __init__(self):
        self.driver=webdriver.Safari()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()

    def t1(self):
        self.driver.find_element(By.ID,"kw").send_keys('selenium')
        self.driver.find_element(By.ID,"su").click()

        sleep(2)

        self.driver.save_screenshot('baidu.png')

if __name__ == '__main__':
    case=TestCase()
    case.t1()

实际测试过程中我们会把照片文件以日期的形式命名,也方便记录时间节点。接下来就对代码进行一些升级改造:

from selenium import webdriver
from time import sleep,strftime,localtime,time
from selenium.webdriver.common.by import By


class TestCase(object):
    def __init__(self):
        self.driver=webdriver.Safari()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()

    def t1(self):
        self.driver.find_element(By.ID,"kw").send_keys('selenium')
        self.driver.find_element(By.ID,"su").click()

        sleep(2)

        st=strftime("%Y-%m-%d-%H-%M-%s",localtime(time()))
        fime_name=st+'.png'
        self.driver.save_screenshot(fime_name)

if __name__ == '__main__':
    case=TestCase()
    case.t1()

那我们想把截图保存到指定路径又该如何操作呢?请看以下代码:

from selenium import webdriver
from time import sleep,strftime,localtime,time
from selenium.webdriver.common.by import By
import os

class TestCase(object):
    def __init__(self):
        self.driver=webdriver.Safari()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()

    def t1(self):
        self.driver.find_element(By.ID,"kw").send_keys('selenium')
        self.driver.find_element(By.ID,"su").click()

        sleep(2)

        st=strftime("%Y-%m-%d-%H-%M-%s",localtime(time()))
        fime_name=st+'.png'
        path=os.path.abspath('PC指定路径')
        file_path=path+'/'+fime_name
        self.driver.get_screenshot_as_file(file_path)

if __name__ == '__main__':
    case=TestCase()
    case.t1()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值