Как сделать снимок экрана, чтобы он работал со всеми настройками дисплея? - PullRequest
0 голосов
/ 29 сентября 2019

Я хочу сделать снимок экрана и сравнить его с базовым изображением, чтобы проверить, равны ли они.приведенный ниже фрагмент работает.но когда я делаю снимок экрана, он всегда имеет размер 1544 * 638 (ширина * высота)

Теперь моя проблема заключается в том, что если я запускаю свои тесты на небольшом дисплее устройства и делаю снимок экрана, тогда это будет какое-то измерениемаленькое устройство имеет .. и оно может не совпадать с моим базовым изображением, которое составляет 1544 * 638.

Как сделать снимок экрана таким образом, чтобы он всегда отображался на каком-то маленьком устройстве и каков будет этот размер (может быть возможным измерением) и как это сделать.спасибо.

    def capture_screenshot():
    canvas = driver.find_element_by_xpath("//xpath")
    result = canvas_element.screenshot_as_png
    with open('compare_image.png', 'wb') as f:
        f.write(result)

1 Ответ

0 голосов
/ 29 сентября 2019

Надеюсь, это поможет,

from selenium import webdriver
import io
from PIL import Image

def capture_screenshot():
    canvas = driver.find_element_by_xpath("//xpath")
    image = canvas_element.screenshot_as_png
    imageStream = io.BytesIO(image)
    im = Image.open(imageStream)
    im.save(image_path)
...