使用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!