Скриншот полной страницы с URL в ruby ​​и watir - PullRequest
0 голосов
/ 27 июня 2018

Используя приведенный ниже код, я получаю снимок экрана только с одной частью экрана, но я хотел бы сделать полный снимок экрана, на котором также отображается URL-адрес страницы.

Возможно ли это?

AfterStep do
  encoded_img = @browser.driver.screenshot_as(:base64)
    embed("data:image/png;base64,#{encoded_img}",'image/png')
end

1 Ответ

0 голосов
/ 30 июня 2018

У Ватира нет этого положения для захвата скриншота вместе с URL. Но мы можем использовать win32ole для этого.

require 'win32/screenshot'

Win32 :: Screenshot :: Take.of (: на первом плане) .WRITE (image_path)

В моем случае для захвата полного снимка экрана с URL, я делаю следующее

# Code to capture the full-page screenshot with a URL
require 'watir'
require 'win32ole'
require 'win32/screenshot'

# Launch a browser and navigate to the page
browser = Watir::Browser.new :ie
browser.goto "https://www.google.com"

win_title = browser.title #Fetch the Title

# Use AutoIt to get the focus of the browser to front
WIN32OLE.new("AutoItX3.Control").ControlFocus(win_title, "", "")

# Capture the screen shot of the desktop
sleep 2 # Hold for 2s
image_path = "image_path#{rand(10000)}.png"
Win32::Screenshot::Take.of(:desktop).write(image_path)
...