gpt4 book ai didi

ruby - Selenium 或 Watir Webdriver,如何保存调整大小的屏幕截图?

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:05 25 4
gpt4 key购买 nike

我尝试获取调整大小的 400x400 谷歌屏幕截图。我在 Selenium 和 Watir 中都尝试过,但没有成功。

require 'watir-webdriver'
b = Watir::Browser.new
b.goto 'google.com'
b.window.resize_to(400,400)
b.driver.save_screenshot("screenshot.jpg")

我总是得到原始浏览器大小的屏幕截图。

知道如何将其保存为 400x400 吗?

最佳答案

目前WebDriver将截图定义为“整页截图”。也就是说,整个 DOM 应该由 save_screenshot 方法生成的图像表示。 Chrome 驱动程序不生成完整 DOM 的屏幕截图的事实是 bug in the Chrome driver .所以真正的答案是没有办法使用 WebDriver 生成仅浏览器视口(viewport)的屏幕截图。

话虽如此,也可以使用其他编程方式来完成此操作,具体取决于您的操作系统。例如,在 Windows 上,获取桌面窗口的窗口句柄 (HWND)、捕获桌面图像(使用 Windows GetDesktopPrintWindow API 会非常容易), 并使用 WebDriver Window API 提供的坐标裁剪它.

关于ruby - Selenium 或 Watir Webdriver,如何保存调整大小的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17828277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com