Selenium Webdriver, screenshot as numpy array (Python)

Is there a way to take a screenshot from selenium webdriver and convert it 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 reopen it

+3


source to share


1 answer


I'm sure there is a more efficient way to do 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)

      

+5


source







All Articles