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 = <<-JS
    var bodyRect = document.body.getBoundingClientRect();
    var elementRect = arguments[0].getBoundingClientRect();
    var left = (elementRect.left - bodyRect.left) - (window.innerWidth / 2);
    var top = (elementRect.top - bodyRect.top) - (window.innerHeight / 2);
    window.scrollTo(left, top);
  JS
  execute(script, @element)
  self
end

#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