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

Iva*_*van 2 python selenium

I\xc2\xb4m 在 Windows 10 上使用 selenium 和 Firefox geckodriver 进行屏幕截图

\n\n
delay = 5\nbrowser = webdriver.Firefox(executable_path="C:\\\\Users\\\\A0048436\\\\Downloads\\\\geckodriver.exe")\nbrowser.set_window_size(1920, 1080)\nbrowser.get(\'file://\' + html_file)\ntime.sleep(delay)\nbrowser.save_screenshot(html_file + \'.png\')\nbrowser.quit()\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n

Flo*_* B. 6

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

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

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)
Run Code Online (Sandbox Code Playgroud)