Chrome Reactive Kotlin

chrome-reactive-kotlin is a low level Chrome DevTools Protocol client written in Kotlin and leveraging RxJava3 for easy composability.

Library exposes all protocol pl.wendigo.chrome.api.ProtocolDomains in a single, cohesive and highly composable API. It supports both headless and non-headless Chrome automation capabilities.

Packages

pl.wendigo.chrome
Link copied to clipboard
Contains library main entrypoint class (Browser) responsible for connecting to remote headless Chrome instance, creating and managing targets (web pages).
pl.wendigo.chrome.api
Link copied to clipboard
Contains auto-generated definitions of domains with methods, events, types.
pl.wendigo.chrome.api.accessibility
Link copied to clipboard
Contains DevTools Protocol Accessibility domain implementation accessible via AccessibilityDomain class.
pl.wendigo.chrome.api.animation
Link copied to clipboard
Contains DevTools Protocol Animation domain implementation accessible via AnimationDomain class.
pl.wendigo.chrome.api.applicationcache
Link copied to clipboard
Contains DevTools Protocol ApplicationCache domain implementation accessible via ApplicationCacheDomain class.
pl.wendigo.chrome.api.audits
Link copied to clipboard
Contains DevTools Protocol Audits domain implementation accessible via AuditsDomain class.
pl.wendigo.chrome.api.backgroundservice
Link copied to clipboard
Contains DevTools Protocol BackgroundService domain implementation accessible via BackgroundServiceDomain class.
pl.wendigo.chrome.api.browser
Link copied to clipboard
Contains DevTools Protocol Browser domain implementation accessible via BrowserDomain class.
pl.wendigo.chrome.api.cachestorage
Link copied to clipboard
Contains DevTools Protocol CacheStorage domain implementation accessible via CacheStorageDomain class.
pl.wendigo.chrome.api.cast
Link copied to clipboard
Contains DevTools Protocol Cast domain implementation accessible via CastDomain class.
pl.wendigo.chrome.api.console
Link copied to clipboard
Contains DevTools Protocol Console domain implementation accessible via ConsoleDomain class.
pl.wendigo.chrome.api.css
Link copied to clipboard
Contains DevTools Protocol CSS domain implementation accessible via CSSDomain class.
pl.wendigo.chrome.api.database
Link copied to clipboard
Contains DevTools Protocol Database domain implementation accessible via DatabaseDomain class.
pl.wendigo.chrome.api.debugger
Link copied to clipboard
Contains DevTools Protocol Debugger domain implementation accessible via DebuggerDomain class.
pl.wendigo.chrome.api.deviceorientation
Link copied to clipboard
Contains DevTools Protocol DeviceOrientation domain implementation accessible via DeviceOrientationDomain class.
pl.wendigo.chrome.api.dom
Link copied to clipboard
Contains DevTools Protocol DOM domain implementation accessible via DOMDomain class.
pl.wendigo.chrome.api.domdebugger
Link copied to clipboard
Contains DevTools Protocol DOMDebugger domain implementation accessible via DOMDebuggerDomain class.
pl.wendigo.chrome.api.domsnapshot
Link copied to clipboard
Contains DevTools Protocol DOMSnapshot domain implementation accessible via DOMSnapshotDomain class.
pl.wendigo.chrome.api.domstorage
Link copied to clipboard
Contains DevTools Protocol DOMStorage domain implementation accessible via DOMStorageDomain class.
pl.wendigo.chrome.api.emulation
Link copied to clipboard
Contains DevTools Protocol Emulation domain implementation accessible via EmulationDomain class.
pl.wendigo.chrome.api.fetch
Link copied to clipboard
Contains DevTools Protocol Fetch domain implementation accessible via FetchDomain class.
Contains DevTools Protocol HeadlessExperimental domain implementation accessible via HeadlessExperimentalDomain class.
pl.wendigo.chrome.api.heapprofiler
Link copied to clipboard
Contains DevTools Protocol HeapProfiler domain implementation accessible via HeapProfilerDomain class.
pl.wendigo.chrome.api.indexeddb
Link copied to clipboard
Contains DevTools Protocol IndexedDB domain implementation accessible via IndexedDBDomain class.
pl.wendigo.chrome.api.input
Link copied to clipboard
Contains DevTools Protocol Input domain implementation accessible via InputDomain class.
pl.wendigo.chrome.api.inspector
Link copied to clipboard
Contains DevTools Protocol Inspector domain implementation accessible via InspectorDomain class.
pl.wendigo.chrome.api.io
Link copied to clipboard
Contains DevTools Protocol IO domain implementation accessible via IODomain class.
pl.wendigo.chrome.api.layertree
Link copied to clipboard
Contains DevTools Protocol LayerTree domain implementation accessible via LayerTreeDomain class.
pl.wendigo.chrome.api.log
Link copied to clipboard
Contains DevTools Protocol Log domain implementation accessible via LogDomain class.
pl.wendigo.chrome.api.media
Link copied to clipboard
Contains DevTools Protocol Media domain implementation accessible via MediaDomain class.
pl.wendigo.chrome.api.memory
Link copied to clipboard
Contains DevTools Protocol Memory domain implementation accessible via MemoryDomain class.
pl.wendigo.chrome.api.network
Link copied to clipboard
Contains DevTools Protocol Network domain implementation accessible via NetworkDomain class.
pl.wendigo.chrome.api.overlay
Link copied to clipboard
Contains DevTools Protocol Overlay domain implementation accessible via OverlayDomain class.
pl.wendigo.chrome.api.page
Link copied to clipboard
Contains DevTools Protocol Page domain implementation accessible via PageDomain class.
pl.wendigo.chrome.api.performance
Link copied to clipboard
Contains DevTools Protocol Performance domain implementation accessible via PerformanceDomain class.
Contains DevTools Protocol PerformanceTimeline domain implementation accessible via PerformanceTimelineDomain class.
pl.wendigo.chrome.api.profiler
Link copied to clipboard
Contains DevTools Protocol Profiler domain implementation accessible via ProfilerDomain class.
pl.wendigo.chrome.api.runtime
Link copied to clipboard
Contains DevTools Protocol Runtime domain implementation accessible via RuntimeDomain class.
pl.wendigo.chrome.api.schema
Link copied to clipboard
Contains DevTools Protocol Schema domain implementation accessible via SchemaDomain class.
pl.wendigo.chrome.api.security
Link copied to clipboard
Contains DevTools Protocol Security domain implementation accessible via SecurityDomain class.
pl.wendigo.chrome.api.serviceworker
Link copied to clipboard
Contains DevTools Protocol ServiceWorker domain implementation accessible via ServiceWorkerDomain class.
pl.wendigo.chrome.api.storage
Link copied to clipboard
Contains DevTools Protocol Storage domain implementation accessible via StorageDomain class.
pl.wendigo.chrome.api.systeminfo
Link copied to clipboard
Contains DevTools Protocol SystemInfo domain implementation accessible via SystemInfoDomain class.
pl.wendigo.chrome.api.target
Link copied to clipboard
Contains DevTools Protocol Target domain implementation accessible via TargetDomain class.
pl.wendigo.chrome.api.tethering
Link copied to clipboard
Contains DevTools Protocol Tethering domain implementation accessible via TetheringDomain class.
pl.wendigo.chrome.api.tracing
Link copied to clipboard
Contains DevTools Protocol Tracing domain implementation accessible via TracingDomain class.
pl.wendigo.chrome.api.webaudio
Link copied to clipboard
Contains DevTools Protocol WebAudio domain implementation accessible via WebAudioDomain class.
pl.wendigo.chrome.api.webauthn
Link copied to clipboard
Contains DevTools Protocol WebAuthn domain implementation accessible via WebAuthnDomain class.
pl.wendigo.chrome.protocol
Link copied to clipboard
Contains DevTools protocol representation classes:
  • ProtocolConnection is a class responsible for sending and receiving protocol responses and events over WebsocketFramesStream

  • Event is a parent class of all events that are generated by protocol

    • RawEvent represents an event that is parameterless

  • Domain is parent class of all protocol domain classes

  • Domains is parent class representing whole protocol with all Domains

pl.wendigo.chrome.protocol.websocket
Link copied to clipboard
Contains DevTools protocol WebSocket primitives and utility classes:
  • WebSocketFramesStream represents stream of frames that are exchanged between protocol client and the browser over the WebSocket connection

  • RequestFrame represents frame that is sent over the WebSocket connection

  • ResponseFrame represents different frame types that are received over the WebSocket connection:

    • ErrorResponseFrame represents error frame that is received if the request is malformed and/or invalid

    • RequestResponseFrame represents response frame that is received when request was fulfilled successfully

    • EventResponseFrame represents event frame that is received when Domain event is generated

pl.wendigo.chrome.targets
Link copied to clipboard
Targets management related classes (Manager, SessionTarget, Target)