我在 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)
