是否可以使用capybara-webkit捕获渲染页面的特定元素或部分的屏幕截图?
这可以很容易地完成Capybara + Poltergeist (phantomjs驱动程序),因为它提供了一个非标准的save_截图(路径,选择器)方法。查看capybara-webkit文档,可以看到#save_screenshot
的options
参数。但深入挖掘,我发现只有width
和height
的例子。
img
元素的屏幕截图。该图片位于页面底部
使用capybara-webkit?如何?
任何帮助都将非常感激。
对于感兴趣的人,我使用imagemagick CLI解决了这个问题:
session.save_screenshot(temp_file_path)
system("convert #{temp_file_path} -crop <width>x<height>+<left>+<top> +repage #{temp_file_path}")
对不起,我跳过了"特定元素或渲染页面部分的"的部分,所以下面的答案是一般的截图。
可以通过调用save_and_open_page
保存当前的HTML。
根据你想要完成的任务,这可能比截图要好得多,或者根本没用……
在支持它的驱动程序中,还有page.save_screenshot('screenshot.png')
有关详细信息,请参阅关于调试的README