Class: Puppeteer::BrowserContext
- Inherits:
-
Object
- Object
- Puppeteer::BrowserContext
show all
- Includes:
- EventCallbackable
- Defined in:
- lib/puppeteer/browser_context.rb
Constant Summary
collapse
- EVENT_MAPPINGS =
{
disconnected: 'Events.BrowserContext.Disconnected',
targetcreated: 'Events.BrowserContext.TargetCreated',
targetchanged: 'Events.BrowserContext.TargetChanged',
targetdestroyed: 'Events.BrowserContext.TargetDestroyed',
}
Instance Method Summary
collapse
#add_event_listener, #emit_event, #observe_first, #on_event, #remove_event_listener
Constructor Details
#initialize(connection, browser, context_id) ⇒ BrowserContext
Returns a new instance of BrowserContext.
8
9
10
11
12
|
# File 'lib/puppeteer/browser_context.rb', line 8
def initialize(connection, browser, context_id)
@connection = connection
@browser = browser
@id = context_id
end
|
Instance Method Details
#async_wait_for_target(predicate: , timeout: nil) ⇒ Object
56
|
# File 'lib/puppeteer/browser_context.rb', line 56
define_async_method :async_wait_for_target
|
110
111
112
|
# File 'lib/puppeteer/browser_context.rb', line 110
def browser
@browser
end
|
#close ⇒ Object
114
115
116
117
118
119
|
# File 'lib/puppeteer/browser_context.rb', line 114
def close
unless @id
raise 'Non-incognito profiles cannot be closed!'
end
@browser.dispose_context(@id)
end
|
#incognito? ⇒ Boolean
63
64
65
|
# File 'lib/puppeteer/browser_context.rb', line 63
def incognito?
!!@id
end
|
105
106
107
|
# File 'lib/puppeteer/browser_context.rb', line 105
def new_page
@browser.create_page_in_context(@id)
end
|
#on(event_name, &block) ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/puppeteer/browser_context.rb', line 22
def on(event_name, &block)
unless EVENT_MAPPINGS.has_key?(event_name.to_sym)
raise ArgumentError.new("Unknown event name: #{event_name}. Known events are #{EVENT_MAPPINGS.keys.join(", ")}")
end
add_event_listener(EVENT_MAPPINGS[event_name.to_sym], &block)
end
|
#once(event_name, &block) ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/puppeteer/browser_context.rb', line 31
def once(event_name, &block)
unless EVENT_MAPPINGS.has_key?(event_name.to_sym)
raise ArgumentError.new("Unknown event name: #{event_name}. Known events are #{EVENT_MAPPINGS.keys.join(", ")}")
end
observe_first(EVENT_MAPPINGS[event_name.to_sym], &block)
end
|
#pages ⇒ !Promise<!Array<!Puppeteer.Page>>
59
60
61
|
# File 'lib/puppeteer/browser_context.rb', line 59
def pages
targets.select { |target| target.type == 'page' }.map(&:page).reject { |page| !page }
end
|
#targets ⇒ !Array<!Target>
40
41
42
|
# File 'lib/puppeteer/browser_context.rb', line 40
def targets
@browser.targets.select { |target| target.browser_context == self }
end
|
#wait_for_target(predicate:, timeout: nil) ⇒ Puppeteer::Target
46
47
48
49
50
51
|
# File 'lib/puppeteer/browser_context.rb', line 46
def wait_for_target(predicate:, timeout: nil)
@browser.wait_for_target(
predicate: ->(target) { target.browser_context == self && predicate.call(target) },
timeout: timeout,
)
end
|