Class: Minibidi::BrowsingContext
- Inherits:
-
Object
- Object
- Minibidi::BrowsingContext
- Defined in:
- lib/minibidi/browsing_context.rb
Instance Method Summary collapse
- #activate ⇒ Object
- #capture_screenshot(origin: nil, format: nil, clip: nil) ⇒ Object
- #close(prompt_unload: nil) ⇒ Object
- #default_realm ⇒ Object
-
#initialize(browser, context_id) ⇒ BrowsingContext
constructor
A new instance of BrowsingContext.
- #input ⇒ Object
- #navigate(url, wait: :interactive) ⇒ Object
- #realms ⇒ Object
- #reload(ignore_cache: nil, wait: nil) ⇒ Object
- #set_viewport(width:, height:, device_pixel_ratio: nil) ⇒ Object
- #traverse_history(delta) ⇒ Object
Constructor Details
#initialize(browser, context_id) ⇒ BrowsingContext
Returns a new instance of BrowsingContext.
5 6 7 8 |
# File 'lib/minibidi/browsing_context.rb', line 5 def initialize(browser, context_id) @browser = browser @context_id = context_id end |
Instance Method Details
#activate ⇒ Object
37 38 39 |
# File 'lib/minibidi/browsing_context.rb', line 37 def activate bidi_call_async('browsingContext.activate').wait end |
#capture_screenshot(origin: nil, format: nil, clip: nil) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/minibidi/browsing_context.rb', line 41 def capture_screenshot(origin: nil, format: nil, clip: nil) result = bidi_call_async('browsingContext.captureScreenshot', { origin: origin, format: format, clip: clip, }.compact).wait Base64.strict_decode64(result[:data]) end |
#close(prompt_unload: nil) ⇒ Object
51 52 53 54 55 |
# File 'lib/minibidi/browsing_context.rb', line 51 def close(prompt_unload: nil) bidi_call_async('browsingContext.close', { promptUnload: prompt_unload, }.compact).wait end |
#default_realm ⇒ Object
29 30 31 |
# File 'lib/minibidi/browsing_context.rb', line 29 def default_realm realms.find { |realm| realm.type == 'window' } end |
#input ⇒ Object
33 34 35 |
# File 'lib/minibidi/browsing_context.rb', line 33 def input Input.new(self) end |
#navigate(url, wait: :interactive) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/minibidi/browsing_context.rb', line 10 def navigate(url, wait: :interactive) bidi_call_async('browsingContext.navigate', { url: url, wait: wait, }.compact).wait end |
#realms ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/minibidi/browsing_context.rb', line 17 def realms result = bidi_call_async('script.getRealms').wait result[:realms].map do |realm| Realm.new( browsing_context: self, id: realm[:realm], origin: realm[:origin], type: realm[:type], ) end end |
#reload(ignore_cache: nil, wait: nil) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/minibidi/browsing_context.rb', line 57 def reload(ignore_cache: nil, wait: nil) bidi_call_async('browsingContext.reload', { ignoreCache: ignore_cache, wait: wait, }.compact).wait end |
#set_viewport(width:, height:, device_pixel_ratio: nil) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/minibidi/browsing_context.rb', line 64 def (width:, height:, device_pixel_ratio: nil) bidi_call_async('browsingContext.setViewport', { viewport: { width: width, height: height, }, devicePixelRatio: device_pixel_ratio, }.compact).wait end |
#traverse_history(delta) ⇒ Object
74 75 76 77 78 |
# File 'lib/minibidi/browsing_context.rb', line 74 def traverse_history(delta) bidi_call_async('browsingContext.traverseHistory', { delta: delta, }).wait end |