Selenium Webdriver, screenshot as numpy array (Pyt

2019-02-15 11:11发布

问题:

Is there a way to take a screenshot with selenium webdriver and convert in to a numpy array instead of saving it? I need to use it with openCV.

Note: I don't want to save the image and open it again

回答1:

I'm sure there is a more efficient way of doing this, but this is what worked for me:

from selenium import webdriver
from PIL import Image
import StringIO
import numpy as np

browser = webdriver.Firefox()
browser.get('https://www.google.ca/?gws_rd=ssl')

data = browser.get_screenshot_as_png()

img = Image.open(StringIO.StringIO(data))

numpy_array = np.asarray(img)