Class: Selenium::WebDriver::Driver
- Inherits:
 - 
      Object
      
        
- Object
 - Selenium::WebDriver::Driver
 
 
- Includes:
 - Find
 
- Defined in:
 - lib/selenium/webdriver/driver.rb
 
Overview
The main class through which you control the browser.
Constant Summary
Constants included from Find
Instance Attribute Summary collapse
- 
  
    
      #bridge  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute bridge.
 
Class Method Summary collapse
- 
  
    
      .for(browser, *args)  ⇒ Driver 
    
    
  
  
  
  
  
  
  
  
  
    
Create a new Driver instance with the correct bridge for the given browser.
 
Instance Method Summary collapse
- 
  
    
      #[](sel)  ⇒ WebDriver::Element 
    
    
  
  
  
  
  
  
  
  
  
    
Get the first element matching the given selector.
 - 
  
    
      #close  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Close the current window, or the browser if no windows are left.
 - 
  
    
      #current_url  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Get the URL of the current page.
 - 
  
    
      #execute_script(script, *args)  ⇒ WebDriver::Element, ... 
    
    
      (also: #script)
    
  
  
  
  
  
  
  
  
  
    
Execute the given JavaScript.
 - 
  
    
      #get(url)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Opens the specified URL in the browser.
 - 
  
    
      #initialize(bridge)  ⇒ Driver 
    
    
  
  
  
    constructor
  
  
  
  
  
  private
  
    
A new Driver instance with the given bridge.
 - #inspect ⇒ Object
 - #manage ⇒ Options
 - #navigate ⇒ Navigation
 - 
  
    
      #page_source  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Get the source of the current page.
 - 
  
    
      #quit  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Quit the browser.
 - 
  
    
      #ref  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
for Find.
 - #switch_to ⇒ TargetLocator
 - 
  
    
      #title  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Get the title of the current page.
 - 
  
    
      #visible=(bool)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Set the visibility of the browser.
 - 
  
    
      #visible?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Get the visibility of the browser.
 - 
  
    
      #window_handle  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Get the current window handle.
 - 
  
    
      #window_handles  ⇒ Array 
    
    
  
  
  
  
  
  
  
  
  
    
Get the window handles of open browser windows.
 
Methods included from Find
Constructor Details
#initialize(bridge) ⇒ Driver
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
A new Driver instance with the given bridge
      61 62 63 64 65 66 67 68  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 61 def initialize(bridge) @bridge = bridge # TODO: refactor this away unless @bridge.driver_extensions.empty? extend(*@bridge.driver_extensions) end end  | 
  
Instance Attribute Details
#bridge ⇒ Object (readonly)
Returns the value of attribute bridge.
      16 17 18  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 16 def bridge @bridge end  | 
  
Class Method Details
.for(browser, *args) ⇒ Driver
Create a new Driver instance with the correct bridge for the given browser
      37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 37 def for(browser, *args) bridge = case browser when :ie, :internet_explorer IE::Bridge.new(*args) when :remote Remote::Bridge.new(*args) when :chrome Chrome::Bridge.new(*args) when :firefox, :ff Firefox::Bridge.new(*args) else raise ArgumentError, "unknown driver: #{browser.inspect}" end new(bridge) end  | 
  
Instance Method Details
#[](sel) ⇒ WebDriver::Element
Get the first element matching the given selector. If given a String or Symbol, it will be used as the id of the element.
      242 243 244 245 246 247 248  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 242 def [](sel) if sel.kind_of?(String) || sel.kind_of?(Symbol) sel = { :id => sel } end find_element sel end  | 
  
#close ⇒ Object
Close the current window, or the browser if no windows are left.
      171 172 173  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 171 def close bridge.close end  | 
  
#current_url ⇒ String
Get the URL of the current page
      115 116 117  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 115 def current_url bridge.getCurrentUrl end  | 
  
#execute_script(script, *args) ⇒ WebDriver::Element, ... Also known as: script
Execute the given JavaScript
      208 209 210  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 208 def execute_script(script, *args) bridge.executeScript(script, *args) end  | 
  
#get(url) ⇒ Object
Opens the specified URL in the browser.
      105 106 107  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 105 def get(url) navigate.to(url) end  | 
  
#inspect ⇒ Object
      70 71 72  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 70 def inspect '#<%s:0x%x browser=%s>' % [self.class, hash*2, bridge.browser.inspect] end  | 
  
#manage ⇒ Options
      97 98 99  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 97 def manage @manage ||= WebDriver::Options.new(self) end  | 
  
#navigate ⇒ Navigation
      79 80 81  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 79 def navigate @navigate ||= WebDriver::Navigation.new(self) end  | 
  
#page_source ⇒ String
Get the source of the current page
      135 136 137  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 135 def page_source bridge.getPageSource end  | 
  
#quit ⇒ Object
Quit the browser
      163 164 165  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 163 def quit bridge.quit end  | 
  
#ref ⇒ Object
for Find
      257 258 259  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 257 def ref nil end  | 
  
#switch_to ⇒ TargetLocator
      88 89 90  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 88 def switch_to @switch_to ||= WebDriver::TargetLocator.new(self) end  | 
  
#title ⇒ String
Get the title of the current page
      125 126 127  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 125 def title bridge.getTitle end  | 
  
#visible=(bool) ⇒ Object
Set the visibility of the browser. Not applicable for all browsers.
      155 156 157  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 155 def visible=(bool) bridge.setBrowserVisible bool end  | 
  
#visible? ⇒ Boolean
Get the visibility of the browser. Not applicable for all browsers.
      145 146 147  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 145 def visible? bridge.getBrowserVisible end  | 
  
#window_handle ⇒ String
Get the current window handle
      192 193 194  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 192 def window_handle bridge.getCurrentWindowHandle end  | 
  
#window_handles ⇒ Array
Get the window handles of open browser windows.
      182 183 184  | 
    
      # File 'lib/selenium/webdriver/driver.rb', line 182 def window_handles bridge.getWindowHandles end  |