Class: Watir::Element::Scroll

Inherits:
Object
  • Object
show all
Defined in:
lib/browser_scroll/element/scroll.rb

Instance Method Summary collapse

Constructor Details

#initialize(element) ⇒ Scroll

Returns a new instance of Scroll.



4
5
6
# File 'lib/browser_scroll/element/scroll.rb', line 4

def initialize(element)
  @element = element
end

Instance Method Details

#bottomObject



21
22
23
24
# File 'lib/browser_scroll/element/scroll.rb', line 21

def bottom
  execute('arguments[0].scrollIntoView(false);', @element)
  self
end

#by(left, top) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/browser_scroll/element/scroll.rb', line 38

def by(left, top)
  execute(
    'window.scrollBy(arguments[0], arguments[1]);',
    Integer(left), Integer(top)
  )
  self
end

#middleObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/browser_scroll/element/scroll.rb', line 26

def middle
  script = "    var bodyRect = document.body.getBoundingClientRect();\n    var elementRect = arguments[0].getBoundingClientRect();\n    var left = (elementRect.left - bodyRect.left) - (window.innerWidth / 2);\n    var top = (elementRect.top - bodyRect.top) - (window.innerHeight / 2);\n    window.scrollTo(left, top);\n  JS\n  execute(script, @element)\n  self\nend\n"

#scroll_toObject



12
13
14
# File 'lib/browser_scroll/element/scroll.rb', line 12

def scroll_to
  top
end

#toObject



8
9
10
# File 'lib/browser_scroll/element/scroll.rb', line 8

def to
  self
end

#topObject



16
17
18
19
# File 'lib/browser_scroll/element/scroll.rb', line 16

def top
  execute('arguments[0].scrollIntoView();', @element)
  self
end