Python截圖并保存的具體實(shí)例
大家肯定會疑問,為什么需要用python去進(jìn)行截圖保存,或者說是我們的QQ、微信都是自帶截圖工具的,可以直接拿過來進(jìn)行使用的,但是事實(shí)上,一般在測試的時候,經(jīng)常會遇到代碼報(bào)錯等問題,這種需要反饋的時候,就需要利用到python自行截圖,好啦,下面就是實(shí)現(xiàn)的幾個操作。
1、selenium for python實(shí)現(xiàn)代碼如下:
import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.maximize_window()driver.implicitly_wait(6)driver.get('https://www.baidu.com')time.sleep(1)driver.get_screenshot_as_file('C:baidu.png')driver.quit()2、PIL庫
實(shí)現(xiàn)代碼如下:
import timefrom PIL import ImageGrabif __name__=='__main__': pic = ImageGrab.grab() pic.save('picture.jpg')
實(shí)例擴(kuò)展:
#coding=utf-8import timeimport win32gui, win32ui, win32con, win32apidef window_capture(filename): hwnd = 0 # 窗口的編號,0號表示當(dāng)前活躍窗口 # 根據(jù)窗口句柄獲取窗口的設(shè)備上下文DC(Divice Context) hwndDC = win32gui.GetWindowDC(hwnd) # 根據(jù)窗口的DC獲取mfcDC mfcDC = win32ui.CreateDCFromHandle(hwndDC) # mfcDC創(chuàng)建可兼容的DC saveDC = mfcDC.CreateCompatibleDC() # 創(chuàng)建bigmap準(zhǔn)備保存圖片 saveBitMap = win32ui.CreateBitmap() # 獲取監(jiān)控器信息 MoniterDev = win32api.EnumDisplayMonitors(None, None) w = MoniterDev[0][2][2] h = MoniterDev[0][2][3] # print w,h #圖片大小 # 為bitmap開辟空間 saveBitMap.CreateCompatibleBitmap(mfcDC, w, h) # 高度saveDC,將截圖保存到saveBitmap中 saveDC.SelectObject(saveBitMap) # 截取從左上角(0,0)長寬為(w,h)的圖片 saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY) saveBitMap.SaveBitmapFile(saveDC, filename) if __name__=='__main__': beg = time.time() for i in range(1): image_name='haha%s.jpg'%i window_capture(image_name) end = time.time() print(end - beg)
到此這篇關(guān)于Python截圖并保存的具體實(shí)例的文章就介紹到這了,更多相關(guān)Python如何截圖保存內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. asp批量添加修改刪除操作示例代碼2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. PHP循環(huán)與分支知識點(diǎn)梳理4. 讀大數(shù)據(jù)量的XML文件的讀取問題5. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案6. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)7. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能8. 解析原生JS getComputedStyle9. jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲10. css代碼優(yōu)化的12個技巧
