我想使用Selenium以特定分辨率在无头模式下截取屏幕截图,但即使我设置了驱动程序窗口大小,屏幕截图也会以不同的分辨率拍摄:
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
如何以驱动程序窗口大小(本例中为 1024x768(的相同分辨率截取屏幕截图,而无需对保存的图像进行后期处理?
您可以添加window-size
选项。
chrome_options.add_argument('window-size=1024x768')
使用下面的代码,您可以设置窗口大小。 *我的回答解释了更多:
chrome_options.add_argument('--window-size=1024,768')
或:
driver.set_window_size(1024, 768)