【发布时间】:2014-10-15 20:33:04
【问题描述】:
我正在尝试使用 selenium-webdriver 截取给定链接的屏幕截图。我正在使用以下脚本
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.navigate.to 'URL'
driver.save_screenshot('screenshot.png')
driver.quit
这工作正常,但它只截取可见区域的屏幕截图。我也试过了
driver.capture_entire_page_screenshot('test.png','');
和
driver.capture_entire_page_screenshot('test.png');
但我得到未定义的方法capture_entire_page_screenshot' 错误任何建议我该如何实现这一点。
更新,还尝试了以下选项,该选项有效,但仅截取可见/完整屏幕截图。对于可见区域,我的意思是如果我的页面已经滚动,它不会截取整个页面的屏幕截图。
require 'rubygems'
require 'selenium'
require 'selenium-webdriver'
require 'selenium/client'
require 'selenium-rc'
@selenium = Selenium::Client::Driver.new("localhost", 4444,"*chrome", "someurl", 1000);
@selenium.start
@selenium.open ""
@selenium.wait_for_page_to_load "3000"
@selenium.send(:sleep, 4) # Wait for Flash and other crap to load
@selenium.capture_entire_page_screenshot('/path/to/save/screenshot.png', '');
@selenium.stop
还有没有办法在这个中使用代理?
【问题讨论】:
-
可见区域是什么意思?..无论如何 capture_entire_page_screenshot 是 Selenium RC 的方法而不是 webdriver。
-
@Abhi_Mishra 您能否建议我使用哪种方法。我的意思是可见区域,如果我的网站有滚动条。它不会捕获可滚动区域,或者简而言之,它只会捕获当前视口。
标签: ruby-on-rails ruby selenium selenium-webdriver selenium-rc