Selenium-Webdriver学习笔记

上一篇 / 下一篇  2013-09-06 21:31:45

require 'selenium-webdriver'
#basic
dr = Selenium::WebDriver.for :firefox

dr.get "http://www.baidu.com"
#dr.navigate.go "http://www.baidu.com"

element = dr.find_element(:name,"wd")
element.send_keys "text"
element.submit

puts dr.title
puts dr.current_url

dr.close
#dr.quit

#execute javascript
dr = Selenium::WebDriver.for :firefox
dr.get "http://www.baidu.com"
js= <<JS
alert("test")
JS
dr.execute_script. js

#deal with frame
dr = Selenium::WebDriver.for :firefox
dr.get "http://www.baidu.com"
dr.switch_to.frame(frame_id) #识别主体移动到id为frame_id的frame里
dr.find_element()
dr.switch_to.default_content #将识别主体移出frame

#deal with new window
dr = Selenium::WebDriver.for :firefox
dr.get "http://www.baidu.com"
dr.find_element(:name,"a new window").click    #open a new window
wh = dr.window_handles    # get all window handles
ch = dr.window_handle  # get current window handle

wh.each do |h|
if h != ch
dr.switch_to.window(h)
dr.find_element(...)
end 
end

#智能等待页面加载完成,使用wait类:
#创建wait实例,构造方法new接受一个hash参数,time设置了最长等待时间
wait = Selenium::WebDriver::Wait.new({:time=>30})
#
until方法接收一个block,当block为ture,返回block中的返回值;如果超过了timeout时间,抛出一个TimeOutError
account_field = wait.until {dr.find_element(:id=>'account')}




TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 31856
  • 日志数: 22
  • 建立时间: 2013-08-19
  • 更新时间: 2014-04-01

RSS订阅

Open Toolbar