Selenium 螢幕截圖
阿新 • • 發佈:2021-11-27
前言
在自動化測試的過程中,有時候需要截圖,比如有些地方出現了 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()