簡體   English   中英

如何使用帶有 Python 的 Selenium Webdriver 保存具有唯一文件名的屏幕截圖?

[英]How to save screenshots with unique files names using Selenium Webdriver with Python?

Selenium Webdriver 是否可以創建具有唯一文件名的屏幕截圖? 如果我使用標准命令browser.save_screenshot(screenshot.png) ,我的 Python 腳本會在每次截取屏幕截圖時覆蓋保存的屏幕截圖。

但是,如果我執行以下操作來創建唯一的文件名並嘗試將字符串解析為函數參數,則它不起作用,因為顯然 Python 不會這樣做。

from selenium import webdriver
import datetime
browser = webdriver.Firefox()
browser.get("http://www.google.com")
date_stamp = str(datetime.datetime.now()).split('.')[0]
date_stamp = date_stamp.replace(" ","_")
file_name = date_stamp + ".png"
browser.save_screenshot(file_name)

您的date_stamp返回類似於"2017-06-09_20:56:54.png" ,這是不可接受的文件名。 嘗試使用

date_stamp = date_stamp.replace(" ", "_").replace(":", "_").replace("-", "_")

這應該返回您的有效姓名

"2017_06_09_20_56_54.png"
from datetime import datetime

@classmethod
def tearDown(cls):
    now = datetime.now().strftime('%Y-%m-%d_%H-%M-%S')
    cls.driver.get_screenshot_as_file('reports/screenshot-%s.png' % now)

我有這樣的。 測試完成后,它會生成名稱為創建時間的屏幕截圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM