【问题标题】:ScreenShot of entire webpage using selenium-webdriver/ rc rails使用 selenium-webdriver/ rc rails 的整个网页的屏幕截图
【发布时间】: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


【解决方案1】:

这是 Selenium 贡献者组的一个已知问题,显然取决于 Chrome (Chromium) 中修复的错误。看到这个帖子:

https://code.google.com/p/chromedriver/issues/detail?id=294

在(如果?)Google 修复上述错误之前,该线程有一些技巧可以解决该问题

【讨论】:

    猜你喜欢
    • 2023-01-23
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多