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: