watir-webdriver源码阅读
module Watir class Browser def initialize(browser = :firefox, *args) case browser when Symbol, String @driver = Selenium::WebDriver.for browser.to_sym, *args when Selenium::WebDriver::Driver @driver = browser else raise ArgumentError, "expected Symbol or Selenium::WebDriver::Driver, got #{browser.class}" end @error_checkers = [] @current_frame = nil @closed = false end end endbrowser=Watir::Browser.new :ie
调用了Selenium::WebDriver来创建一个浏览器实例
class << self def start(url, browser = :firefox) b = new(browser) b.goto url b end end
事实上也可以采用Watir::Browser.start "http://www.baidu.com",:ie
对ie,chrome均可用,不过对firefox会有报错,这里暂且不表。
再去看一下goto代码:
def goto(uri) uri = "http://#{uri}" unless uri =~ URI.regexp @driver.navigate.to uri run_checkers url end
第一行利用正则进行匹配。
接下来利用了Selenium::WebDriver的navigate方法进行跳转。
来看下check机制:
def run_checkers @error_checkers.each { |e| e.call(self) } end
相关推荐
xiangxiaojun 2020-09-23
letheashura 2020-08-14
王练 2020-07-18
xiangxiaojun 2020-06-25
Feastaw 2020-06-18
ELEMENTS爱乐冬雨 2020-06-14
jjddrushi 2020-06-14
云之高水之远 2020-06-14
chongtianfeiyu 2020-06-12
Reiki 2020-06-12
songerxing 2020-06-11
王练 2020-06-11
tiankele0 2020-06-09
dangai00 2020-06-06
云之高水之远 2020-06-05
curiousL 2020-06-01