是否可以使用capybara-webkit捕获特定元素或部分呈现页面的屏幕截图?
这可以通过Capybara + Poltergeist(phantomjs驱动程序)轻松完成,因为它提供了非标准的save_screenshot(路径,选择器)方法。
Looking at capybara-webkit documentation我们可以看到options
的{{1}}参数。但深入挖掘,我发现只有#save_screenshot
和width
个例子。
我需要例如,在Capybara会话期间捕获仅显示呈现的height
元素的屏幕截图。该图片可在页面底部找到。
使用capybara-webkit可以做到这一点吗?怎么样?
任何帮助将不胜感激。
答案 0 :(得分:2)
完成任务。
对于那些感兴趣的人,我使用imagemagick CLI解决了这个问题:
session.save_screenshot(temp_file_path)
system("convert #{temp_file_path} -crop <width>x<height>+<left>+<top> +repage #{temp_file_path}")
答案 1 :(得分:1)
对不起,我跳过了“某个特定元素或部分渲染页面”的部分,所以下面的答案一般是截图。
您可以通过拨打save_and_open_page
来保存当前的HTML
根据您想要完成的任务,这可能比屏幕截图更好,或者完全没用......
在支持它的驱动程序上,还有page.save_screenshot('screenshot.png')
有关详细信息,请参阅README on Debugging