Skip to main content
 首页 » 编程设计

python之Python 中的 Selenium webdriver 屏幕截图分辨率错误

2024年08月21日48youxin

我在 Windows 10 上使用 selenium 和 Firefox geckodriver 截屏

delay = 5 
browser = webdriver.Firefox(executable_path="C:\\Users\\A0048436\\Downloads\\geckodriver.exe") 
browser.set_window_size(1920, 1080) 
browser.get('file://' + html_file) 
time.sleep(delay) 
browser.save_screenshot(html_file + '.png') 
browser.quit() 

所以我预计图像分辨率将是窗口大小,但它不是 - 它较低。如何设置屏幕截图分辨率?

请您参考如下方法:

set_window_size 方法设置窗口的大小,包括边框、菜单栏和选项卡。

要设置视口(viewport)的大小,首先需要计算外窗口和内窗口之间的差异。然后将此差异添加到所需的分辨率:

dx, dy = browser.execute_script("var w=window; return [w.outerWidth - w.innerWidth, w.outerHeight - w.innerHeight];") 
browser.set_window_size(1920 + dx, 1080 + dy)