Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何访问剪贴板数据以实现自动化?_Ruby_Selenium Webdriver_Clipboard - Fatal编程技术网

Ruby 如何访问剪贴板数据以实现自动化?

Ruby 如何访问剪贴板数据以实现自动化?,ruby,selenium-webdriver,clipboard,Ruby,Selenium Webdriver,Clipboard,我正在使用SeleniumWebDriver和ruby。长话短说,我正在开发一个web应用程序,点击一个按钮即可将文本字段中的所有数据复制到剪贴板。我想访问该数据并比较是否存在字符串 我已经安装了剪贴板和win32/clipboard gems。这是我的代码 include Win32 abc = Clipboard.data em = " ooyalaPlayer = OO.Player.create('playerContainer'," puts 'true' if abc.inclu

我正在使用SeleniumWebDriver和ruby。长话短说,我正在开发一个web应用程序,点击一个按钮即可将文本字段中的所有数据复制到剪贴板。我想访问该数据并比较是否存在字符串

我已经安装了剪贴板和win32/clipboard gems。这是我的代码

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

首次安装“win32剪贴板”:

gem install win32/clipboard
然后执行以下操作:

require 'win32-clipboard'
include Win32 

abc = Clipboard.data
puts abc

如果您可以访问linux或osx系统,则可以执行以下操作:

将文本写入如下文件:

IO.write('/tmp/msg.txt', 'hi')
IO.read('/tmp/msg.txt')
像这样读回:

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)
***假设已安装剪贴板gem

见: