watir识别控件

一. iframe处理
由于IE安全处理机器,某些情况下watir不能识别iframe中控件,处理方法有
1. IE-安全中把测试站点设置为可信任站点
2. 直接获取ifrmae的src属性,ie对象直接goto那个url
3. 如果直接进入url会有ie安全弹框,在ie-安全-自定义级别-其他-是否显示混合内容关掉

二. 文本编辑器处理

<iframe id="editor_ifr" frameborder="0" src="javascript:""" allowtransparency="true" title="{#aria.rich_text_area}按 ALT-F10 定位到工具栏.按 ALT-0 获取帮助。" style="width: 100%;height: 256px; display: block; min-height: 256px;">

<html>

<head xmlns="http://www.w3.org/1999/xhtml">

<body id="tinymce" class="mceContentBody " contenteditable="true" spellcheck="false" style="overflow-y:hidden; padding-bottom: 50px;" dir="ltr">

</html>

</iframe>

这样的,直接如下处理:

ie.frame(:id,"editor_ifr").document.body.innerText= "hello world"

这种方式输入frame框中的内容会在其他所有操作结束后才显示,先focus其外层的控件比较好用

三. 获取已打开IE的方式
方法1: ie2 = Watir::IE.attach(:url,'http://www.google.cn/') #根据URL获取
方法2: ie3 = Watir::IE.attach(:title,'Google') #根据窗口标题获
方法3: ie4 = Watir::IE.attach(:title, /google.cn/) #正则表达式匹配获取

四. <a>标签处理
<a>标签如果写的很简单直接用:text 定位

 

1.ruby区分大小写!!!!
今天处理时间日期格式的时候一顿困扰

    vt = Time.new
    vtime = vt.strftime("%H%M%S")
    vdate = vt.strftime("%Y%m%d")

%H %M %S都是要大写
%Y 是2012
%y 是12

2.FileUtils.makedirs(vpath) 强制创建目录

五.获取dom元素的style属性

考虑如下的html代码

<a id = "idA" href ="blog.sina.com.cn/nakrul1" style = "width:200px">浮云的blog</a> 

获取width大小的ruby代码

width = ie.link(:id,'idA').attribute_value('style').invoke('width') 

通过dom元素的事件属性,例如onclick onfocus等来定位识别特定元素

考虑下面的html代码:

<div onclick = "do_event()"></div>

<div></div> 

<div></div> 

我们如果要定位有onclick属性的div,我们可以这样做:

ie.divs.each do |d| 

  return d ifd.html.contains?('onclick') 

end

Ps:attribute_value 方法可以用来获取元素的特定属性值

六、获取服务器返回的状态码

  response = Net::HTTP.get_response(URI.parse(url)) #得到服务器的返回的数据

获取状态码 "#{response.code}"

七、获取特定class属性的div(通常用来查找一共有多少个相似的模块)

classlist = @ie.div(:class,"search-content").divs.find_all { |div| div.class_name == 'brick item person_item' }
search_num1 = classlist.length





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值