chrome-reactive-kotlin is a low level Chrome DevTools Protocol client written in Kotlin and leveraging RxJava2 for easy composability.
Library exposes all protocol domains in a single, cohesive and highly composable API. It supports both headless and non-headless Chrome automation capabilities.
Basic usage example:
val chrome = Browser.builder().withAddress("127.0.0.1:9222").build()
chrome.use { browser ->
browser.target("about:blank").use { target ->
await {
target.Page.enable()
}
await {
target.Page.navigate(NavigateRequest(url = "https://github.com/wendigo/chrome-reactive-kotlin")).flatMap { (frameId) ->
target.Page.frameStoppedLoading().filter {
it.frameId == frameId
}.take(1).singleOrError()
}
}
}
}
Contains library main API (Browser and DevToolsProtocol) |
|
Contains DevTools Protocol Accessibility domain implementation accessible via AccessibilityOperations class. |
|
Contains DevTools Protocol Animation domain implementation accessible via AnimationOperations class. |
|
Contains DevTools Protocol ApplicationCache domain implementation accessible via ApplicationCacheOperations class. |
|
Contains DevTools Protocol Audits domain implementation accessible via AuditsOperations class. |
|
Contains DevTools Protocol BackgroundService domain implementation accessible via BackgroundServiceOperations class. |
|
Contains DevTools Protocol Browser domain implementation accessible via BrowserOperations class. |
|
Contains DevTools Protocol CacheStorage domain implementation accessible via CacheStorageOperations class. |
|
Contains DevTools Protocol Cast domain implementation accessible via CastOperations class. |
|
Contains DevTools Protocol Console domain implementation accessible via ConsoleOperations class. |
|
Contains DevTools Protocol CSS domain implementation accessible via CSSOperations class. |
|
Contains DevTools Protocol Database domain implementation accessible via DatabaseOperations class. |
|
Contains DevTools Protocol Debugger domain implementation accessible via DebuggerOperations class. |
|
Contains DevTools Protocol DeviceOrientation domain implementation accessible via DeviceOrientationOperations class. |
|
Contains DevTools Protocol DOM domain implementation accessible via DOMOperations class. |
|
Contains DevTools Protocol DOMDebugger domain implementation accessible via DOMDebuggerOperations class. |
|
Contains DevTools Protocol DOMSnapshot domain implementation accessible via DOMSnapshotOperations class. |
|
Contains DevTools Protocol DOMStorage domain implementation accessible via DOMStorageOperations class. |
|
Contains DevTools Protocol Emulation domain implementation accessible via EmulationOperations class. |
|
Contains DevTools Protocol Fetch domain implementation accessible via FetchOperations class. |
|
Contains DevTools Protocol HeadlessExperimental domain implementation accessible via HeadlessExperimentalOperations class. |
|
Contains DevTools Protocol HeapProfiler domain implementation accessible via HeapProfilerOperations class. |
|
Contains DevTools Protocol IndexedDB domain implementation accessible via IndexedDBOperations class. |
|
Contains DevTools Protocol Input domain implementation accessible via InputOperations class. |
|
Contains DevTools Protocol Inspector domain implementation accessible via InspectorOperations class. |
|
Contains DevTools Protocol IO domain implementation accessible via IOOperations class. |
|
Contains DevTools Protocol LayerTree domain implementation accessible via LayerTreeOperations class. |
|
Contains DevTools Protocol Log domain implementation accessible via LogOperations class. |
|
Contains DevTools Protocol Media domain implementation accessible via MediaOperations class. |
|
Contains DevTools Protocol Memory domain implementation accessible via MemoryOperations class. |
|
Contains DevTools Protocol Network domain implementation accessible via NetworkOperations class. |
|
Contains DevTools Protocol Overlay domain implementation accessible via OverlayOperations class. |
|
Contains DevTools Protocol Page domain implementation accessible via PageOperations class. |
|
Contains DevTools Protocol Performance domain implementation accessible via PerformanceOperations class. |
|
Contains DevTools Protocol Profiler domain implementation accessible via ProfilerOperations class. |
|
Contains DevTools Protocol Runtime domain implementation accessible via RuntimeOperations class. |
|
Contains DevTools Protocol Schema domain implementation accessible via SchemaOperations class. |
|
Contains DevTools Protocol Security domain implementation accessible via SecurityOperations class. |
|
Contains DevTools Protocol ServiceWorker domain implementation accessible via ServiceWorkerOperations class. |
|
Contains DevTools Protocol Storage domain implementation accessible via StorageOperations class. |
|
Contains DevTools Protocol SystemInfo domain implementation accessible via SystemInfoOperations class. |
|
Contains DevTools Protocol Target domain implementation accessible via TargetOperations class. |
|
Contains DevTools Protocol Tethering domain implementation accessible via TetheringOperations class. |
|
Contains DevTools Protocol Tracing domain implementation accessible via TracingOperations class. |
|
Contains DevTools Protocol WebAudio domain implementation accessible via WebAudioOperations class. |
|
Contains DevTools Protocol WebAuthn domain implementation accessible via WebAuthnOperations class. |
|
Contains DevTools protocol primitives (DebuggerFramesStream, RequestFrame/ResponseFrame and Event base classes). |
|
Targets management related classes (Manager, TargetSession) |