[フレーム]

Class: Selenium::WebDriver::Driver

Inherits:
Object
  • Object
  • Selenium::WebDriver::Driver
show all
Includes:
Find
Defined in:
lib/selenium/webdriver/driver.rb

Overview

The main class through which you control the browser.

See Also:

Constant Summary

Constants included from Find

Find::FINDERS

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Find

#find_element , #find_elements

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

#bridgeObject (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

Examples:


Driver .for :firefox, :profile => "some-profile"
Driver .for :firefox, :profile => Profile.new
Driver .for :remote, :url => "http://localhost:4444/wd/hub", :desired_capabilities => caps

Parameters:

  • browser (:ie, :internet_explorer, :remote, :chrome, :firefox, :ff)

    the driver type to use

  • *rest

    arguments passed to Bridge.new

Returns:

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.

Parameters:

  • id (String , Hash)

    or selector

Returns:

  • (WebDriver::Element )

    driver #=> #<WebDriver::Element:0x1011c3b88> driver[:tag_name => ‘div’] #=> #<WebDriver::Element:0x1011c3b88>

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

#closeObject

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_urlString

Get the URL of the current page

Returns:

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

Parameters:

  • script (String )

    JavaScript source to execute

  • *args (WebDriver::Element , Integer, Float, Boolean, NilClass, String , Array)

    Arguments will be available in the given script as the ‘arguments’ array.

Returns:

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

#inspectObject

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

#manageOptions

Returns:

See Also:

97
98
99
# File 'lib/selenium/webdriver/driver.rb', line 97
def manage
 @manage ||= WebDriver ::Options .new (self)
end

Returns:

See Also:

79
80
81
# File 'lib/selenium/webdriver/driver.rb', line 79
def navigate
 @navigate ||= WebDriver ::Navigation .new (self)
end

#page_sourceString

Get the source of the current page

Returns:

135
136
137
# File 'lib/selenium/webdriver/driver.rb', line 135
def page_source
 bridge.getPageSource
end

#quitObject

Quit the browser

163
164
165
# File 'lib/selenium/webdriver/driver.rb', line 163
def quit
 bridge.quit
end

#refObject

for Find

257
258
259
# File 'lib/selenium/webdriver/driver.rb', line 257
def ref
 nil
end

#switch_toTargetLocator

Returns:

See Also:

88
89
90
# File 'lib/selenium/webdriver/driver.rb', line 88
def switch_to
 @switch_to ||= WebDriver ::TargetLocator .new (self)
end

#titleString

Get the title of the current page

Returns:

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.

Parameters:

  • (Boolean)
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.

Returns:

  • (Boolean)
145
146
147
# File 'lib/selenium/webdriver/driver.rb', line 145
def visible?
 bridge.getBrowserVisible
end

#window_handleString

Get the current window handle

Returns:

192
193
194
# File 'lib/selenium/webdriver/driver.rb', line 192
def window_handle
 bridge.getCurrentWindowHandle
end

#window_handlesArray

Get the window handles of open browser windows.

Returns:

  • (Array)

See Also:

182
183
184
# File 'lib/selenium/webdriver/driver.rb', line 182
def window_handles
 bridge.getWindowHandles
end

AltStyle によって変換されたページ (->オリジナル) /