Module: Ferrum::Page::Input

Included in:
Ferrum::Page
Defined in:
lib/ferrum/page/input.rb

Instance Method Summary collapse

Instance Method Details

#find_position(node, offset_x = nil, offset_y = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/ferrum/page/input.rb', line 12

def find_position(node, offset_x = nil, offset_y = nil)
  quads = get_content_quads(node)
  offset_x, offset_y = offset_x.to_i, offset_y.to_i

  if offset_x > 0 || offset_y > 0
    point = quads.first
    [point[:x] + offset_x, point[:y] + offset_y]
  else
    x, y = quads.inject([0, 0]) do |memo, point|
      [memo[0] + point[:x],
       memo[1] + point[:y]]
    end
    [x / 4, y / 4]
  end
end

#scroll_to(top, left) ⇒ Object



8
9
10
# File 'lib/ferrum/page/input.rb', line 8

def scroll_to(top, left)
  execute("window.scrollTo(#{top}, #{left})")
end