Class: Selenium::WebDriver::BiDi::BrowsingContext Private
Do not use. This class is for internal use only.
Relationships & Source Files | |
Inherits: | Object |
Defined in: | rb/lib/selenium/webdriver/bidi/browsing_context.rb |
Overview
Implements the browsingContext Module of the WebDriver-BiDi specification
Constant Summary
-
READINESS_STATE =
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 28{ 'none' => 'none', 'eager' => 'interactive', 'normal' => 'complete' }.freeze
Class Method Summary
-
.new(bridge) ⇒ BrowsingContext
constructor
Internal use only
TODO: store current window handle in bridge object instead of always calling it.
Instance Method Summary
- #activate(context_id: nil) Internal use only
-
#close(context_id: nil)
Internal use only
Closes the browsing context.
-
#create(type: nil, context_id: nil) ⇒ String
Internal use only
Create a new browsing context.
- #handle_user_prompt(context_id, accept: true, text: nil) Internal use only
-
#navigate(url, context_id: nil)
Internal use only
Navigates to the specified URL in the given browsing context.
-
#reload(context_id: nil, ignore_cache: false)
Internal use only
Reloads the browsing context.
- #set_viewport(context_id: nil, width: nil, height: nil, device_pixel_ratio: nil) Internal use only
-
#traverse_history(delta, context_id: nil)
Internal use only
Traverses the browsing context history by a given delta.
Constructor Details
.new(bridge) ⇒ BrowsingContext
TODO: store current window handle in bridge object instead of always calling it
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 35
def initialize(bridge) @bridge = bridge @bidi = @bridge.bidi page_load_strategy = bridge.capabilities[:page_load_strategy] @readiness = READINESS_STATE[page_load_strategy] end
Instance Method Details
#activate(context_id: nil)
[ GitHub ]# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 108
def activate(context_id: nil) context_id ||= @bridge.window_handle @bidi.send_cmd('browsingContext.activate', context: context_id) end
#close(context_id: nil)
Closes the browsing context.
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 78
def close(context_id: nil) context_id ||= @bridge.window_handle @bidi.send_cmd('browsingContext.close', context: context_id) end
#create(type: nil, context_id: nil) ⇒ String
Create a new browsing context.
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 91
def create(type: nil, context_id: nil) type ||= :window context_id ||= @bridge.window_handle result = @bidi.send_cmd('browsingContext.create', type: type.to_s, referenceContext: context_id) result['context'] end
#handle_user_prompt(context_id, accept: true, text: nil)
[ GitHub ]# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 104
def handle_user_prompt(context_id, accept: true, text: nil) @bidi.send_cmd('browsingContext.handleUserPrompt', context: context_id, accept: accept, text: text) end
#reload(context_id: nil, ignore_cache: false)
Reloads the browsing context.
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 68
def reload(context_id: nil, ignore_cache: false) context_id ||= @bridge.window_handle params = {context: context_id, ignore_cache: ignore_cache, wait: @readiness} @bidi.send_cmd('browsingContext.reload', **params) end
#set_viewport(context_id: nil, width: nil, height: nil, device_pixel_ratio: nil)
[ GitHub ]# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 98
def (context_id: nil, width: nil, height: nil, device_pixel_ratio: nil) context_id ||= @bridge.window_handle params = {context: context_id, viewport: {width:, height:}, device_pixel_ratio:} @bidi.send_cmd('browsingContext.setViewport', **params) end
#traverse_history(delta, context_id: nil)
Traverses the browsing context history by a given delta.
# File 'rb/lib/selenium/webdriver/bidi/browsing_context.rb', line 58
def traverse_history(delta, context_id: nil) context_id ||= @bridge.window_handle @bidi.send_cmd('browsingContext.traverseHistory', context: context_id, delta: delta) end