我正在使用Selenium和Chrome driver来截取一些网站的屏幕截图。我需要这些截图以非常特定的分辨率(1024x768
)呈现。我注意到虽然浏览器正确地设置了该分辨率,但磁盘上保存的截图分辨率却是双倍的(2048x1536
)。我怀疑这是由于我正在运行应用程序的MacBook的Retina分辨率(mid 2017 MacBook Pro)所致。
这是我正在使用的代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
width = 1024
height = 768
chrome_options = Options()
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--lang=en')
chrome_options.add_argument('--headless')
chrome_options.add_argument(f'window-size={width}x{height}')
driver = webdriver.Chrome(options=chrome_options)
url = 'https://google.com'
driver.get(url)
print('Window size', driver.get_window_size()) # Window size {'width': 1024, 'height': 768}
driver.save_screenshot('test.png') # Image is saved at 2048x1536
有没有办法防止在 retina 屏幕上截屏时分辨率加倍?