Class: Selenium::Link

Inherits:
HtmlElement show all
Defined in:
lib/selenium/link.rb

Overview

Link class that models the behavior of a link

Instance Attribute Summary

Attributes inherited from HtmlElement

#locator, #webpage

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from HtmlElement

#browser, #click, #click_wait, #double_click, #key_press, #present?, #text

Constructor Details

#initialize(webpage, locator, target = nil) ⇒ Link

Returns a new instance of Link.



13
14
15
16
# File 'lib/selenium/link.rb', line 13

def initialize(webpage, locator, target = nil)
  super(webpage, locator)
  @target = target
end

Class Method Details

.by_id(browser, id, target = nil) ⇒ Object



5
6
7
# File 'lib/selenium/link.rb', line 5

def Link::by_id(browser, id, target = nil)
  Link.new(WebPage.new(browser), "id=#{id}", target)
end

.by_text(browser, text, target = nil) ⇒ Object



9
10
11
# File 'lib/selenium/link.rb', line 9

def Link::by_text(browser, text, target = nil)
  Link.new(WebPage.new(browser), "link=#{text}", target)
end

Instance Method Details

#goObject

click the link, wait for the page to load, and asserts the target that was passed in during initialization



24
25
26
27
28
29
# File 'lib/selenium/link.rb', line 24

def go
  raise "target page not defined for link #{@locator}" unless @target
  click_wait
  @target.ensure_present
  @target
end

#with_target(target) ⇒ Object



18
19
20
# File 'lib/selenium/link.rb', line 18

def with_target(target)
  Link.new(webpage, locator, target.new(webpage.browser))
end