Selenium 如何以 window 大小的相同分辨率截取屏幕截图

Selenium how to take screenshot at same resolution of window size

我想在无头模式下使用 Selenium 以特定分辨率截取屏幕截图,但即使我设置了驱动程序 window 大小,屏幕截图也会以不同的分辨率截取:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

width = 1024
height = 768

chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')

driver = webdriver.Chrome(options=chrome_options)
driver.set_window_size(width, height)

driver.get('https://google.com')
print('Window size', driver.get_window_size())
# Window size {'width': 1024, 'height': 768}

driver.save_screenshot('screenshot.png')  # <--  Screenshot is saved at different resolution

如何以与驱动程序 window 大小(本例中为 1024x768)相同的分辨率拍摄屏幕截图,而无需 post 处理保存的图像?

您可以添加 window-size 选项。

chrome_options.add_argument('window-size=1024x768')