2013-01-02 58 views
4

我想用ddmmyyyy_hhmmss.png這樣的文件名保存Watir中的屏幕截圖。保存watir中的屏幕截圖

我嘗試以下...

@@filename = Time.now 
browser.screenshot.save (@@filename.png) 

...但它保存文件@@filename.png。另外我需要將文件保存在特定位置。

你能幫我一下嗎?


你好澤利科,

我想你的建議,但我得到以下錯誤消息:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `initialize': Invalid argument - 2013-01-03 11:02:21 +1100.png (Errno::EINVAL) 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensio 
ns/takes_screenshot.rb:18:in `open' 
     from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver_extensio 
ns/takes_screenshot.rb:18:in `save_screenshot' 

我認爲這個問題是日期和時間標記的格式。

+0

爲什麼使用類變量'@@ filename'而不是局部變量'filename'? –

回答

8

試試這個:

browser.screenshot.save ("#{@@filename}.png") 

如果你想保存在特定位置的文件,試試這個:

browser.screenshot.save ("/path/to/file/#{@@filename}.png") 

當然,與實際路徑替換/path/to/file/

+0

你好,Zeljko,我編輯了我的問題。你可以看看。 –

+0

看起來你已經修復了這個問題。 –

+0

http://www.rubydoc.info/github/watir/watir-classic/Watir/Browser查看其他可能的電話,例如'#png'獲得base 64編碼的png圖像。 – akostadinov

2

感謝您的幫助。

我用下面的方法來格式化日期和時間部分,現在它將屏幕截圖保存在所需位置。

文件名= DateTime.now.strftime( 「%d%B%Y%H%M%S」)

browser.screenshot.save( 「測試/#{文件名} png格式」)

Regards