Python+selenium:get_screenshot_as_file截圖代碼和UserWarning: name used for saved screenshot does not match file type提醒


使用get_screenshot_as_file,方便后面自動化截圖和操作

具體代碼如下:

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2020/8/5 13:59
# @Author : Gengwu
# @FileName: Screenshot.py
# @Software: PyCharm

from selenium import  webdriver
from time import sleep

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

driver.get_screenshot_as_file(r"C:\Users\EDZ\Desktop\附件文件\baidu.jpg") #創建截圖文件的路徑

#打開博客鏈接創建截圖
driver.get('https://www.cnblogs.com/gengwulovestudy/')
driver.get_screenshot_as_file(r"C:\Users\EDZ\Desktop\附件文件\boke.png")

sleep(2)
driver.quit()

執行后可以看到截圖正常,但是有個警告提醒

 

 警告提醒代碼如下:

C:\Users\EDZ\Desktop\selenium_demo\venv\Scripts\python.exe C:/Users/EDZ/Desktop/selenium_demo/webdriver/Screenshot.py
C:\Users\EDZ\Desktop\selenium_demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py:1071: UserWarning: name used for saved screenshot does not match file type. It should end with a `.png` extension
  "type. It should end with a `.png` extension", UserWarning)

Process finished with exit code 0

通過點擊警告鏈接查看源碼如下:

     if not filename.lower().endswith('.png'):
            warnings.warn("name used for saved screenshot does not match file "
                          "type. It should end with a `.png` extension", UserWarning)
        png = self.get_screenshot_as_png()
        try:
            with open(filename, 'wb') as f:
                f.write(png)
        except IOError:
            return False
        finally:
            del png
        return True

發現

if not filename.lower().endswith('.png') 如果不是以.png結尾,則會拋出警告

我們代碼里面截圖有個是jpg格式的,會報一個警告,我們修改jpg為png,修改代碼如下:
driver.get_screenshot_as_file(r"C:\Users\EDZ\Desktop\附件文件\baidu1.png") #創建截圖文件的路徑

#打開博客鏈接創建截圖
driver.get('https://www.cnblogs.com/gengwulovestudy/')
driver.get_screenshot_as_file(r"C:\Users\EDZ\Desktop\附件文件\boke1.png")

修改后查看執行結果沒有報錯

 

 

截圖圖片正常:

 

 以上如果有問題歡迎隨時討論。

Best Regards!
Make a little progress every day!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM