class Ferrum::Target

Constants

NEW_WINDOW_WAIT

Attributes

page[W]

You can create page yourself and assign it to target, used in cuprite where we enhance page class and build page ourselves.

Public Class Methods

new(browser, params = nil) click to toggle source
# File lib/ferrum/target.rb, line 11
def initialize(browser, params = nil)
  @browser = browser
  @params = params
end

Public Instance Methods

attached?() click to toggle source
# File lib/ferrum/target.rb, line 20
def attached?
  !!@page
end
context_id() click to toggle source
# File lib/ferrum/target.rb, line 51
def context_id
  @params["browserContextId"]
end
id() click to toggle source
# File lib/ferrum/target.rb, line 31
def id
  @params["targetId"]
end
maybe_sleep_if_new_window() click to toggle source
# File lib/ferrum/target.rb, line 59
def maybe_sleep_if_new_window
  # Dirty hack because new window doesn't have events at all
  sleep(NEW_WINDOW_WAIT) if window?
end
opener_id() click to toggle source
# File lib/ferrum/target.rb, line 47
def opener_id
  @params["openerId"]
end
page() click to toggle source
# File lib/ferrum/target.rb, line 24
def page
  @page ||= begin
    maybe_sleep_if_new_window
    Page.new(id, @browser)
  end
end
title() click to toggle source
# File lib/ferrum/target.rb, line 39
def title
  @params["title"]
end
type() click to toggle source
# File lib/ferrum/target.rb, line 35
def type
  @params["type"]
end
update(params) click to toggle source
# File lib/ferrum/target.rb, line 16
def update(params)
  @params = params
end
url() click to toggle source
# File lib/ferrum/target.rb, line 43
def url
  @params["url"]
end
window?() click to toggle source
# File lib/ferrum/target.rb, line 55
def window?
  !!opener_id
end