Class: Selenium::WebDriver::BiDi

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/webdriver/bidi.rb,
lib/selenium/webdriver/bidi/struct.rb,
lib/selenium/webdriver/bidi/browser.rb,
lib/selenium/webdriver/bidi/network.rb,
lib/selenium/webdriver/bidi/session.rb,
lib/selenium/webdriver/bidi/transport.rb,
lib/selenium/webdriver/bidi/log_handler.rb,
lib/selenium/webdriver/bidi/protocol/log.rb,
lib/selenium/webdriver/bidi/serialization.rb,
lib/selenium/webdriver/bidi/protocol/input.rb,
lib/selenium/webdriver/bidi/network/cookies.rb,
lib/selenium/webdriver/bidi/network/headers.rb,
lib/selenium/webdriver/bidi/protocol/domain.rb,
lib/selenium/webdriver/bidi/protocol/script.rb,
lib/selenium/webdriver/bidi/browsing_context.rb,
lib/selenium/webdriver/bidi/protocol/browser.rb,
lib/selenium/webdriver/bidi/protocol/network.rb,
lib/selenium/webdriver/bidi/protocol/session.rb,
lib/selenium/webdriver/bidi/protocol/storage.rb,
lib/selenium/webdriver/bidi/protocol/bluetooth.rb,
lib/selenium/webdriver/bidi/protocol/emulation.rb,
lib/selenium/webdriver/bidi/network/credentials.rb,
lib/selenium/webdriver/bidi/network/url_pattern.rb,
lib/selenium/webdriver/bidi/serialization/union.rb,
lib/selenium/webdriver/bidi/protocol/permissions.rb,
lib/selenium/webdriver/bidi/protocol/speculation.rb,
lib/selenium/webdriver/bidi/serialization/record.rb,
lib/selenium/webdriver/bidi/protocol/web_extension.rb,
lib/selenium/webdriver/bidi/network/intercepted_auth.rb,
lib/selenium/webdriver/bidi/network/intercepted_item.rb,
lib/selenium/webdriver/bidi/protocol/browsing_context.rb,
lib/selenium/webdriver/bidi/network/intercepted_request.rb,
lib/selenium/webdriver/bidi/network/intercepted_response.rb,
lib/selenium/webdriver/bidi/protocol/user_agent_client_hints.rb

Defined Under Namespace

Modules: Protocol, Serialization, UrlPattern Classes: Browser, BrowsingContext, Cookies, Credentials, Headers, InterceptedAuth, InterceptedItem, InterceptedRequest, InterceptedResponse, LogHandler, Network, Session, Struct, Transport

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url:) ⇒ BiDi

Returns a new instance of BiDi.



34
35
36
# File 'lib/selenium/webdriver/bidi.rb', line 34

def initialize(url:)
  @ws = WebSocketConnection.new(url: url)
end

Instance Attribute Details

#wsObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



39
40
41
# File 'lib/selenium/webdriver/bidi.rb', line 39

def ws
  @ws
end

Instance Method Details

#add_callback(event, &block) ⇒ Object



49
50
51
# File 'lib/selenium/webdriver/bidi.rb', line 49

def add_callback(event, &block)
  @ws.add_callback(event, &block)
end

#callbacksObject



45
46
47
# File 'lib/selenium/webdriver/bidi.rb', line 45

def callbacks
  @ws.callbacks
end

#closeObject



41
42
43
# File 'lib/selenium/webdriver/bidi.rb', line 41

def close
  @ws.close
end

#error_message(message) ⇒ Object



69
70
71
# File 'lib/selenium/webdriver/bidi.rb', line 69

def error_message(message)
  "#{message['error']}: #{message['message']}\n#{message['stacktrace']}"
end

#remove_callback(event, id) ⇒ Object



53
54
55
# File 'lib/selenium/webdriver/bidi.rb', line 53

def remove_callback(event, id)
  @ws.remove_callback(event, id)
end

#send_cmd(method, **params) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/selenium/webdriver/bidi.rb', line 61

def send_cmd(method, **params)
  data = {method: method, params: params.compact}
  message = @ws.send_cmd(**data)
  raise Error::WebDriverError, error_message(message) if message['error']

  message['result']
end

#sessionObject



57
58
59
# File 'lib/selenium/webdriver/bidi.rb', line 57

def session
  @session ||= Session.new(self)
end