兆鹏带你读Watir——【第一节】创建IE对象篇
上一篇 /
下一篇 2011-07-10 16:49:56
/ 个人分类:watir
今天从最基本的建立IE对象开始讲起。
文件位置:watir-1.8.0/ie-class.rb
我们需要require 的
require 'rubygems'
require 'watir'
好啦,大家都知道创建一个IE对象的语句,那我再写下:
myie=Watir::IE.new
FINE,那我们看看这一句话都干了些神马!!!
1st. Watir是一个模块名,即Module Watir,IE是一个类名,即Class IE。当你用new方法的时候,则会自动调用该类里面的initialize函数。
2nd. 我们看看initialize函数
code:
- def initialize suppress_new_window=nil
- _new_window_init unless suppress_new_window
- end
def initialize suppress_new_window=nil
_new_window_init unless suppress_new_window
end
很好狠强大,传入了一个名为suppress_new_window,默认值为nil的参数,大家可以暂且不用管这个传入值,大部分时间咱们是用不到的,所以不用传参。继续,该函数执行_new_window_init这个函数3rd. 我们来看_new_window_init这个函数
- def _new_window_init
- create_browser_window
- initialize_options
- goto 'about:blank'
- end
def _new_window_init
create_browser_window
initialize_options
goto 'about:blank'
end
执行了3个步骤,第一创建浏览器,第二初始换参数,第三是浏览器转入空白页面4th.我们看看如何创建浏览器对象
- def create_browser_window
- @ie = WIN32OLE.new('InternetExplorer.Application')
- end
def create_browser_window
@ie = WIN32OLE.new('InternetExplorer.Application')
end
OK,用的是WIN32OLE,创建了一个IE的对象,那现在@ie本身有什么功能呢ie.menubar=0 '不显示IE对象菜单栏
ie.AddressBar=0 '不显示IE对象地址栏
ie.ToolBar=0 '不显示IE对象工具栏
ie.StatusBar=0 '不显示IE对象状态栏
ie.FullScreen=1 '全屏化IE对象
ie.Width=800 '设置IE对象宽度
ie.Height=600 '设置IE对象高度
ie.Resizable=0 '设置IE对象大小是否可以被改动
ie.visible=1 '设置是否可见
ie.Navigate "www.baidu.com" '设置IE对象默认指向的页面
好,因此,这里要明确一点,当前@ie这个对象已经包括了如上的方法!这些方法并不是WATIR定义的!
5th. 看看initialize_options都初始化了什么参数
- def initialize_options
- self.visible = IE.visible
- self.speed = IE.speed
-
- @ole_object = nil
- @page_container = self
- @error_checkers = []
- @activeObjectHighLightColor = HIGHLIGHT_COLOR
-
-
- @logger = DefaultLogger.new
- @url_list = []
- end
def initialize_options
self.visible = IE.visible
self.speed = IE.speed
@ole_object = nil
@page_container = self
@error_checkers = []
@activeObjectHighLightColor = HIGHLIGHT_COLOR
@logger = DefaultLogger.new
@url_list = []
end
请注意@page_containner 这个是一个自身的调用6th. 最后看一看如何GOTO
- def goto(url)
- @ie.navigate(url)
- wait
- return @down_load_time
- end
def goto(url)
@ie.navigate(url)
wait
return @down_load_time
end
大家通过前几步的学习,已经知道@ie.navigate是通过win32ole调用的InternetExplorer.application中的方法
本节结束,大家可能对goto中的wait有一些不明白,下一节会介绍wait函数!
收藏
举报
TAG:
Watir
watir