簡體   English   中英

如何使用Capybara Webkit捕獲特定元素或位置的屏幕截圖?

[英]How to capture a screenshot of specific element or position using Capybara Webkit?

是否可以使用capybara-webkit捕獲特定元素或呈現頁面的一部分的屏幕截圖?

這可以通過Capybara + Poltergeist(phantomjs驅動程序)輕松完成,因為它提供了非標准的save_screenshot(路徑,選擇器)方法。

查看capybara-webkit文檔,我們可以看到#save_screenshotoptions參數。 但深入挖掘,我發現只有widthheight例子。

例如,我需要捕獲在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM