[英]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 GetDesktop
和PrintWindow
API)以及使用WebDriver Window
API提供的坐標對其進行裁剪非常容易。
我能夠使用Firefox重現問題,但Chrome會生成重新調整大小的屏幕截圖。 我的猜測是它是FirefoxDriver中的一個錯誤。 看看問題是否已在Selenium bug跟蹤器中報告,如果沒有,請報告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.