如何确保在无头模式Firefox驱动程序中截取的屏幕截图尺寸始终相同?

时间:2018-09-20 12:18:43

标签: python selenium selenium-webdriver

我想全屏显示本地html页面的屏幕截图。但是以下代码为不同的html文件生成了不同的尺寸文件(屏幕截图)。我在全屏播放时觉得很奇怪,这不应该发生。请帮忙。

firefox_options = Options()
firefox_options.add_argument("--headless")
driver = webdriver.Firefox(firefox_options=firefox_options)
driver.get('file:///'+q.html.path)
driver.fullscreen_window()
shot = driver.get_screenshot_as_png()
driver.close()

2 个答案:

答案 0 :(得分:1)

只需在无头之后添加一个选项即可设置窗口大小:

firefox_options.add_argument("--window-size=1920x1080")

无头模式不需要driver.fullscreen_window()行。

答案 1 :(得分:0)

如果在您使用Options()时我没记错的话,则应该完全使用它!

因此,在您的情况下,我会这样做:

firefox_options = Options()
firefox_options.add_argument("--headless")
firefox_options.add_argument('--start-maximized')
driver = webdriver.Firefox(firefox_options=firefox_options)
driver.get('file:///'+q.html.path)
shot = driver.get_screenshot_as_png()
driver.close()

希望这会有所帮助!