2013-01-02 59 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