1. 程式人生 > 其它 >Selenium 螢幕截圖

Selenium 螢幕截圖

前言

在自動化測試的過程中,有時候需要截圖,比如有些地方出現了 bug,需要將當前頁面進行截圖。

截圖方法

WebDriver 內建了一些截圖的方法:

  • save_screenshot() 擷取當前螢幕並儲存為指定檔案
  • get_screenshot_as_file() 擷取當前螢幕儲存到完整的路徑下

例項1:將截圖儲存到當前目錄

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()

driver.get('http://www.baidu.com')
sleep(2)
# 截圖儲存到當前目錄
driver.save_screenshot('baidu.png')

driver.quit()

例項2:將截圖以當前時間命名並儲存

from selenium import webdriver
from time import sleep, strftime, localtime, time

driver = webdriver.Chrome()

driver.get('http://www.baidu.com')
sleep(2)

# 獲取當前時間
st = strftime('%Y-%m-%d-%H-%M-%S', localtime(time()))
file_name = st + '.png'
# 以當前時間命名儲存截圖檔案
driver.save_screenshot(file_name)
driver.quit()

例項3:將截圖儲存到指定的檔案路徑下

from selenium import webdriver
from time import sleep, strftime, localtime, time
import os

driver = webdriver.Chrome()

driver.get('http://www.baidu.com')
sleep(2)

# 獲取當前時間
st = strftime('%Y-%m-%d-%H-%M-%S', localtime(time()))
file_name = st + '.png'
# 獲取 screenshot 資料夾的絕對路徑
path = os.path.abspath('screenshot')
# 儲存截圖的路徑
file_path = path + '/' + file_name
# 將截圖儲存到指定的檔案路徑
driver.get_screenshot_as_file(file_path)
driver.quit()