簡體   English   中英

Selenium或Watir Webdriver,如何保存調整大小的截圖?

[英]Selenium or Watir Webdriver, how to save resized screenshot?

我試圖獲得一個重新調整大小的谷歌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的屏幕截圖這一事實是Chrome驅動程序中的一個錯誤 所以真正的答案是沒有辦法使用WebDriver生成只有瀏覽器視圖端口的屏幕​​截圖。

話雖如此,根據您的操作系統,可能還可以使用其他編程方法來實現此目的。 例如,在Windows上,獲取桌面窗口的窗口句柄(HWND),捕獲桌面圖像(使用Windows GetDesktopPrintWindow API)以及使用WebDriver Window API提供的坐標對其進行裁剪非常容易。

我能夠使用Firefox重現問題,但Chrome會生成重新調整大小的屏幕截圖。 我的猜測是它是FirefoxDriver中的一個錯誤。 看看問題是否已在Selenium bug跟蹤器中報告,如果沒有,請報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM