[英]How to capture a screenshot of specific element or position using Capybara Webkit?
是否可以使用capybara-webkit捕獲特定元素或呈現頁面的一部分的屏幕截圖?
這可以通過Capybara + Poltergeist(phantomjs驅動程序)輕松完成,因為它提供了非標准的save_screenshot(路徑,選擇器)方法。
查看capybara-webkit文檔,我們可以看到#save_screenshot
的options
參數。 但深入挖掘,我發現只有width
和height
例子。
例如,我需要捕獲在Capybara會話期間僅顯示渲染的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')
有關更多詳細信息,請參閱調試自述文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.