我想用固定大小的python / selenium截取屏幕截图。
奇怪的是,图像的高度始终为-76像素。
作为一种解决方法,我只需在window_size中添加76个像素。这可以用另一种方式完成吗?重要的是图像正好是1080 x 1920,我担心这个解决方案只是暂时的。
我的代码
#!/usr/bin/env python3
from pyvirtualdisplay import Display
import sys
import os
from selenium import webdriver
# Portrait mode 1080 width, 1920 height
display = Display(visible=0, size=(1080, 1920))
display.start()
browser = webdriver.Firefox()
# Needs to be 76 pixels more than desired???
browser.set_window_size(1080,1996)
browser.set_window_position(0, 0)
browser.get('https://google.com')
# Actually prints out 1080 x 1966
print(browser.get_window_size())
# Saves the file in 1080 x 1920
browser.save_screenshot('screenshot.png');
解决方案
感谢Andersson。问题是视口大小。解决方案:How to set browser viewport size