【问题标题】:Selenium how to take screenshot at same resolution of window sizeSelenium 如何以相同的窗口大小分辨率截屏
【发布时间】:2020-06-24 15:40:03
【问题描述】:

我想在无头模式下使用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)相同的分辨率下截取屏幕截图,而无需对保存的图像进行后处理?

【问题讨论】:

    标签: python selenium selenium-chromedriver screenshot


    【解决方案1】:

    您可以添加window-size 选项。

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

    【讨论】:

    • 写完这个答案后,我试了一下你的脚本,它按预期工作。我检查了图像属性,屏幕截图确实以 1024 x 768 的分辨率保存。
    • 谢谢,add_argument('window-size=1024x768') 成功了
    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多