RubyWin32Api Win32OLE

#ruby提供了多种运行外部程序的方法
#1.%x %x不需要使用引号包含。
#2. system方法
#3.exec类似system但是会中断当前的代码执行
#system和exec不能捕获执行程序的输出。
list=%x(dir d:\\) #捕获到输出结果
system(‘notepad‘)
p ‘system‘
exec(‘notepad‘)
p ‘exec‘#被exec中断,不会执行下面的代码

require ‘Win32API‘#调用Win32api
get_cur=Win32API.new("user32","GetCursorPos",[‘P‘],‘V‘)
set_cur=Win32API.new("user32","SetCursorPos",[‘i‘]*2,‘V‘)
lpoint=" "*8
get_cur.call(lpoint)
x,y=lpoint.unpack("LL")
p "当前鼠标的坐标为:X:#{x},Y:#{y}"
new_xy=[12,12]
set_cur.call new_xy[0],new_xy[1]

require ‘win32ole‘#调用win32ole
excel=WIN32OLE.new(‘excel.application‘)
excel.Visible=true
excel.WorkBooks.Add

excel.Range("a1").value=3
excel.Range(‘a2‘).value=2
excel.Range(‘a3‘).value=1
excel.Range(‘b1‘).value="win32ole操作excel栗子"
excel.Range(‘a1:a3‘).select

excel_chart=excel.charts.add
excel_chart.type=-4100
excel.ActiveWorkbook.SaveAs("c:\\test.xls")
excel.ActiveWorkbook.Close(0)
excel.Quit

word=WIN32OLE.new(‘word.application‘)
word.Visible=true
word.Documents.Add
word.Selection.TypeText("你好")
word.Selection.TypeParagraph
word.Selection.TypeText("win32ole操作word栗子")
#word.Selection.TypeParagraph

word.Selection.InlineShapes.AddPicture("http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png")#本地和网络图片均可

word.ActiveDocument.SaveAs("c:test.doc")
word.ActiveDocument.close
word.quit

ie=WIN32OLE.new(‘internetexplorer.application‘)
ie.visible=true
ie.left=100
ie.top=100
ie.width=700
ie.height=500
ie.navigate ‘http://www.baidu.com/s?wd=你好‘
sleep 0.1 while ie.busy
script=ie.document.script
script.alert(‘这是ruby调用的js脚本‘)
#script.eval(‘document.location=$("h3>a:eq(0)").attr("href")‘)#这是个问题。。怎么执行呢
ie.Document.title=‘修改它的标题‘
puts ie.document
ie.quit
时间: 2024-10-08 06:30:55

RubyWin32Api Win32OLE的相关文章

ruby中的win32ole使用

ruby中的win32ole是一个标准库,使用的时候只要添加require 'win32ole'就行. 下面是一段模拟一个登陆的代码 1 require 'win32ole' 2 3 ie = WIN32OLE.new('internetExplorer.application') 4 5 ie.visible = true 6 ie.navigate('www.***.cn') 7 8 sleep(0.2) until ie.busy == false 9 ie.Document.getEle

watir学习系列--对话框处理(转)

1.下面是网上编写的类库,保存为libAutoit.rb #LibAutoit主要处理windows弹出的对话框,调用autoit类进行处理 #函数如下: #- ChooseFileDialog函数:处理选择文件对话框窗口 #- clearSecurityAlert函数:处理安全警告对话框 #- ControlSetText函数:给对话框中的某个控件设置值 #- ControlClick函数:向指定控件发送鼠标点击命令 #- ControlGetText函数:获取指定控件值 #- Control

Ruby调用Excel相关的函数

require 'win32ole'myexcel = WIN32OLE.new("excel.application")#WIN32OLE.open 方法打开用例文件,用Call sub方法(如果有的话) 来调用Excel中的静态检查的宏myexcel.visible=truemywbk = myexcel.Workbooks.Add()mywst= mywbk.Worksheets(1)mywst.Range('A1:D1').value =['1','2','3','4']myw

从0到1,教你实现基于Ruby的watir-webdriver自动化测试

一.为什么选择Ruby [1]完全开源. [2]多平台:Ruby可以运行在Linux, UNIX, Windows, MS-DOS, BeOS, OS/2.. [3]多线程:线程就是指在一个程序中处理若干控制流的功能.与OS提供的进程不同的是,线程可以共享内存空间. [4]完全面向对象. [5]不需要内存管理:具有垃圾回收(Garbage Collect, GC)功能,能自动回收不再使用的对象. [6]解释执行:其程序无需编译即可轻松执行. [7]功能强大的字符串操作/正则表达式. [8]具有异

Ruby操作Excel的方法与技巧大全

测试工作中,批量的数据通常会放到excel表格中,测试输出的数据写回表格中,这样输入输出易于管理,同时清晰明了 使用ruby来操作excel文件首先需要在脚本里包含以下语句 require'win32ole' 把win32ole包含进来后,就可以通过和windows下的excelapi进行交互来对excel文件进行读写了. 打开excel文件,对其中的sheet进行访问: 1 excel =WIN32OLE::new('excel.Application') 2 workbook =excel.

watir 控件传中文字段时遇到的问题以及解决方法

在给watir控件传递中文参数时遇到几个问题,现在解决方法如下 1.ie.text_field(:name=>"UserName").set("中文字符") 时报错,报错如下 Invalid char '\243' in expressionInvalid char '\254' in expressionInvalid char '\273' in expression 解决方案:代码前加上编码格式 #encoding: utf-8 2 ie.text_fi

Watir-WebDriver 截图保存到Excel功能

1.watir-webdriver 自带截图功能 browser.driver.save_screenshot 'screenshot.png' 此种方法可以截取整个网页的图片.功能强大,但是不好之处在于,截取出来的图片比较模糊,分辨率不高.尤其放到excel 中,效果比较差. 2.win32 screenshot 截图功能 需要先安装gem install win32screenshot 执行时: require 'win32/screenshot' #Take a screenshot of

ruby 类库组成

一. 核心类库: 二.标准类库: 文本 base64.rb 处理Base64编码的模块     csv.rb CSV(Comma Separated Values)库 ruby 1.8 特性     digest.so 消息摘要库 请参考[ruby-src:ext/digest/digest.txt.ja]     digest/md5.so     digest/rmd160.so     digest/sha1.so     digest/sha2.so     erb.rb 嵌入Ruby(

ruby 爬虫爬取拉钩网职位信息,产生词云报告

思路:1.获取拉勾网搜索到职位的页数 2.调用接口获取职位id 3.根据职位id访问页面,匹配出关键字 url访问采用unirest,由于拉钩反爬虫,短时间内频繁访问会被限制访问,所以没有采用多线程,而且每个页面访问时间间隔设定为10s,通过nokogiri解析页面,正则匹配只获取技能要求中的英文单词,可能存在数据不准确的情况 数据持久化到excel中,采用ruby erb生成word_cloud报告 爬虫代码: require 'unirest' require 'uri' require '