簡體   English   中英

以編程方式在Ruby中使用ScreenShot of Desktop?

[英]Programmatically take ScreenShot of Desktop in Ruby?

我問過這個關於以編程方式拍攝網頁圖片的問題,我已經下載並使webkit2png正常工作(拍攝像博客和諸如此類的HTML頁面的照片)。 太酷了,謝謝你告訴我的!

現在我想開始做更多事情,比如能夠在加載Flash桌面和桌面后拍攝Flash網站。

是否可以使用webkit2png拍攝Flash網站(考慮到你可能需要等待幾秒才能加載)?

但主要的問題是,我如何以編程方式拍攝桌面照片? 這將使我能夠更好地控制正在發生的事情。

您可以使用xwd(1)截取根窗口的屏幕截圖:

xwd -display :0 -root|xwdtopnm |pnmtopng > $1

這是一個很棒的問題!

幾年前,我必須從事類似的項目。 我發現了一個名為watir的庫,可以用來控制Ruby的系統瀏覽器。 在我檢查的時候,它在Linux環境中並不真正可靠,但是現在它看起來非常可靠。

這里有幾個鏈接:

我從未嘗試過這個解決方案,所以如果你決定和Watir一起去,可以在這里寫一個反饋,我會很高興的。 所有示例都以Windows服務器為目標,我沒有找到使用Linux + Firefox環境的有效教程。

您可以像這樣使用Watir WebDriver

$ irb
irb(main):001:0> require 'watir-webdriver'
=> true
irb(main):002:0> browser = Watir::Browser.new
=> #<Watir::Browser:0x136da92fad77d562 url="about:blank" title="">
irb(main):003:0> browser.goto 'http://stackoverflow.com/questions/1733715/programmatically-take-screenshot-of-desktop-in-ruby'
=> "http://stackoverflow.com/questions/1733715/programmatically-take-screenshot-of-desktop-in-ruby"
irb(main):004:0> browser.screenshot.save 'screenshot.png'
=> #<File:screenshot.png (closed)>
irb(main):005:0>

這似乎做得很好! 我在Mac上對此進行了測試,但如果在Linux上也不能正常工作,我會感到驚訝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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