selenium截圖儲存、擷取特定區域的圖片
阿新 • • 發佈:2018-11-21
browser = webdriver.Chrome() wait = WebDriverWait(browser, 10) browser.get('https://www.baidu.com') time.sleep(3) browser.get_screenshot_as_file('C:\\Users\\zd\\Desktop\\baidu.png') # 或者 # driver.save_screenshot('full_snap.png') # page_snap_obj=Image.open('full_snap.png')
注意file中是兩個\\
以下是通過擷取全屏,再定位到目標(驗證碼)圖片進行擷取目標圖片並儲存。
from PIL import Image def get_snap(driver): # 對目標網頁進行截圖。這裡截的是全屏 driver.save_screenshot('full_snap.png') page_snap_obj=Image.open('full_snap.png') return page_snap_obj def get_image(driver): # 對驗證碼所在位置進行定位,然後擷取驗證碼圖片 img = driver.find_element_by_class_name('code') time.sleep(2) location = img.location print(location) size = img.size left = location['x'] top = location['y'] right = left + size['width'] bottom = top + size['height'] page_snap_obj = get_snap(driver) image_obj = page_snap_obj.crop((left, top, right, bottom)) # image_obj.show() return image_obj # 得到的就是驗證碼