Class: Selenium::WebDriver::BiDi
  
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - Selenium::WebDriver::BiDi
 
          
        
        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/log_handler.rb,
 lib/selenium/webdriver/bidi/network/cookies.rb,
 lib/selenium/webdriver/bidi/network/headers.rb,
 lib/selenium/webdriver/bidi/browsing_context.rb,
 lib/selenium/webdriver/bidi/network/credentials.rb,
 lib/selenium/webdriver/bidi/network/url_pattern.rb,
 lib/selenium/webdriver/bidi/network/intercepted_auth.rb,
 lib/selenium/webdriver/bidi/network/intercepted_item.rb,
 lib/selenium/webdriver/bidi/network/intercepted_request.rb,
 lib/selenium/webdriver/bidi/network/intercepted_response.rb
 
  
  
 
Defined Under Namespace
  
    
      Modules: UrlPattern
    
  
    
      Classes: Browser, BrowsingContext, Cookies, Credentials, Headers, InterceptedAuth, InterceptedItem, InterceptedRequest, InterceptedResponse, LogHandler, Network, Session, Struct
    
  
  
    
      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 Method Details
    
      
  
  
    #add_callback(event, &block)  ⇒ Object 
  
  
  
  
    
      
46
47
48 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 46
def add_callback(event, &block)
  @ws.add_callback(event, &block)
end 
     | 
  
 
    
      
  
  
    #callbacks  ⇒ Object 
  
  
  
  
    
      
42
43
44 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 42
def callbacks
  @ws.callbacks
end 
     | 
  
 
    
      
  
  
    #close  ⇒ Object 
  
  
  
  
    
      
38
39
40 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 38
def close
  @ws.close
end 
     | 
  
 
    
      
  
  
    #error_message(message)  ⇒ Object 
  
  
  
  
    
      
66
67
68 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 66
def error_message(message)
  "#{message['error']}: #{message['message']}\n#{message['stacktrace']}"
end
     | 
  
 
    
      
  
  
    #remove_callback(event, id)  ⇒ Object 
  
  
  
  
    
      
50
51
52 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 50
def remove_callback(event, id)
  @ws.remove_callback(event, id)
end 
     | 
  
 
    
      
  
  
    #send_cmd(method, **params)  ⇒ Object 
  
  
  
  
    
      
58
59
60
61
62
63
64 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 58
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
     | 
  
 
    
      
  
  
    #session  ⇒ Object 
  
  
  
  
    
      
54
55
56 
     | 
    
      # File 'lib/selenium/webdriver/bidi.rb', line 54
def session
  @session ||= Session.new(self)
end 
     |