2013-07-04 30 views
2

我使用硒webdriver和紅寶石。長話短說我正在研究一個Web應用程序,點擊一個按鈕將文本字段中的所有數據複製到剪貼板。我想訪問這些數據,並比較一個字符串是否存在。如何訪問剪貼板數據以實現自動化?

我已經安裝了剪貼板和Win32 /剪貼板gems.Here是我的代碼

include Win32 
abc = Clipboard.data 
em = " ooyalaPlayer = OO.Player.create('playerContainer'," 
puts 'true' if abc.include? em 

以下是錯誤堆棧

$ jruby tests/embed_add_remove_playlist.rb -b firefox -a staging 
ui-test-support will place screenshots and additional logs under: 
results_dir=E:/testing/behavioral_tests/themebuilder/results 
c:/jruby-1.7.4/lib/ruby/shared/rubygems/custom_require.rb:36: Use RbConfig inste 
ad of obsolete and deprecated Config. 
LoadError: no such file to load -- win32-clipboard 
    require at org/jruby/RubyKernel.java:1054 
    require at c:/jruby-1.7.4/lib/ruby/shared/rubygems/custom_require.rb:36 
    (root) at E:/testing/behavioral_tests/themebuilder/lib/embed_helper.rb:8 
    require at org/jruby/RubyKernel.java:1054 
    require at c:/jruby-1.7.4/lib/ruby/shared/rubygems/custom_require.rb:36 
    (root) at tests/embed_add_remove_playlist.rb:8 

回答

1

首先安裝 'Win32的剪貼板':

gem install win32/clipboard 

然後執行以下操作:

require 'win32-clipboard' 
include Win32 

abc = Clipboard.data 
puts abc 
2

如果您有可以訪問的Linux或OSX系統,你可以做到以下幾點:

文本寫入這樣一個文件:

IO.write('/tmp/msg.txt', 'hi') 

讀出來是這樣的:

IO.read('/tmp/msg.txt') 

通常情況下,我想讀一個文件到我的剪貼板***

Clipboard.copy IO.read('/tmp/msg.txt') 

等次,我想寫什麼在我的剪貼板到一個文件***

IO.write('/tmp/msg.txt', Clipboard.paste) 

***假定您已經安裝了剪貼板寶石

參見:https://rubygems.org/gems/clipboard