Selenium Webdriver,截图为numpy数组(Python)

abc*_*abc 3 python screenshot selenium-webdriver

有没有办法用selenium webdriver截取屏幕并转换为numpy数组而不是保存它?我需要在openCV中使用它.

注意:我不想保存图像并再次打开它

abc*_*abc 6

我确信有一种更有效的方法可以做到这一点,但这对我有用:

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)
Run Code Online (Sandbox Code Playgroud)

  • Python 3:`import io; io.BytesIO(数据)` (5认同)