Python 如何捕获屏幕截图,使其可用于所有显示设置?

Python 如何捕获屏幕截图,使其可用于所有显示设置?,python,selenium,python-imaging-library,Python,Selenium,Python Imaging Library,我想捕获截图,并将其与基础图像进行比较,以检查它们是否相等。下面的代码片段很有效。但当我拍摄截图时,它的尺寸总是1544*638(宽*高) 现在我的问题是,如果我在一个小设备显示器上运行我的测试,并且我捕获了屏幕截图,那么它将是这个小设备的某个维度。。它可能与我的基本图像1544*638不匹配 我如何捕捉屏幕截图,使其始终是一些小型设备显示,这个维度是什么(意味着什么可能是可能的维度)以及如何做到这一点。谢谢 def capture_screenshot(): canvas =

我想捕获截图,并将其与基础图像进行比较,以检查它们是否相等。下面的代码片段很有效。但当我拍摄截图时,它的尺寸总是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)
希望这有帮助

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)

它获取您指定的元素的屏幕截图,并将其保存为PNG,但我希望屏幕截图尺寸可以更改…在这种情况下,屏幕截图捕获到可以运行测试的最小屏幕尺寸…屏幕截图的空闲大小是多少,以便它可以在所有测试设置上工作。