ruby 中使用 Dom技术来查找页面元素
有些时候可能会根据一些有限的信息,来查找页面的元素,这里举一个例子利用页面文字来查找所在的标签,以淘宝的登录页面为例,使用以下代码可以实现根据账户名来识别对应的节点名称:
require ‘watir’
#ie = Watir::IE.attach(:url, /member1.taobao.com/)
ie = Watir::IE.start(”http://member1.taobao.com/member/login.jhtml?ssl=false”)
def find_tag_by_text(ie,textName)
all_elements = ie.document.body.all
all_elements.each do |object|
if object.innerText.match(textName)
flag = false
all_children = object.children
#如果子对象匹配到,那么退出,退出后flag为true
all_children.each do |child|
if child.innerText.match(textName)
flag = true
break
else
next
end
end
# 当子节点匹配不到text时,那么表示已经查到了终点
unless flag
puts object.tagName
break
end
end
end
end
find_tag_by_text(ie,”账户名”)
如果要得到该节点的父节点,可以写成:
unless flag
parent = object.parentElement
puts parent.tagName
break
end
如果要得到该节点子节点,可以写成:
unless flag
children = object.children
puts “_____________”
children.each do |child|
pu
相关文档:
Watir 语法(Web Application Testing in Ruby)
# watir的安装
watie的安装请查看 -> Ruby library的安装
# 使用Watir工具,需要在脚本中加上
require 'watir'
# 创建一个IE的实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start('http://www.text.com/')
Watir使用start方法 ......
Ruport是一个免费的Ruby报表工具,它可以令到制作报表软件变得简单一些。Ruport支持从文件或者数据库获得数据,提供工具操作数据。额外地,Ruport支持高扩展的格式化软件,目前能够支援HTML、PDF、CSV和文本输出。
Ruport可能是Ruby目前唯一的报表工具,目前在持续开发中,更多的新特性正在添加。
安装方法:
gem instal ......
转自 http://zhujg.javaeye.com/blog/355040
首先 安装 cygwin
cygwin 要安装的插件是
默认的+ make + gcc + libiconv
+ openssl
cygwin下需要编译原文件
到ruby-lang(http://ruby-lang.org/)
下载ruby-1.9.1-p0.tar.gz
tar xvf ruby-1.9.1-p0.tar.gz
cd
ruby-1.9.1-p0
./configure
make && make in ......
Ruby 异常处理
文章分类:Ruby编程 关键字: ruby 异常 异常处理
异常处理是开发过程中经常要面对的问题,基本所有高级语言都有自己的异常处理系统,ruby也不例外,而且使用起来也非常简单。
ruby中异常的抛出是使用的raise方法,记住 ......