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()
            }
        }
    }    
}

Packages

pl.wendigo.chrome

Contains library main API (Browser and DevToolsProtocol)

pl.wendigo.chrome.api.accessibility

Contains DevTools Protocol Accessibility domain implementation accessible via AccessibilityOperations class.

pl.wendigo.chrome.api.animation

Contains DevTools Protocol Animation domain implementation accessible via AnimationOperations class.

pl.wendigo.chrome.api.applicationcache

Contains DevTools Protocol ApplicationCache domain implementation accessible via ApplicationCacheOperations class.

pl.wendigo.chrome.api.audits

Contains DevTools Protocol Audits domain implementation accessible via AuditsOperations class.

pl.wendigo.chrome.api.backgroundservice

Contains DevTools Protocol BackgroundService domain implementation accessible via BackgroundServiceOperations class.

pl.wendigo.chrome.api.browser

Contains DevTools Protocol Browser domain implementation accessible via BrowserOperations class.

pl.wendigo.chrome.api.cachestorage

Contains DevTools Protocol CacheStorage domain implementation accessible via CacheStorageOperations class.

pl.wendigo.chrome.api.cast

Contains DevTools Protocol Cast domain implementation accessible via CastOperations class.

pl.wendigo.chrome.api.console

Contains DevTools Protocol Console domain implementation accessible via ConsoleOperations class.

pl.wendigo.chrome.api.css

Contains DevTools Protocol CSS domain implementation accessible via CSSOperations class.

pl.wendigo.chrome.api.database

Contains DevTools Protocol Database domain implementation accessible via DatabaseOperations class.

pl.wendigo.chrome.api.debugger

Contains DevTools Protocol Debugger domain implementation accessible via DebuggerOperations class.

pl.wendigo.chrome.api.deviceorientation

Contains DevTools Protocol DeviceOrientation domain implementation accessible via DeviceOrientationOperations class.

pl.wendigo.chrome.api.dom

Contains DevTools Protocol DOM domain implementation accessible via DOMOperations class.

pl.wendigo.chrome.api.domdebugger

Contains DevTools Protocol DOMDebugger domain implementation accessible via DOMDebuggerOperations class.

pl.wendigo.chrome.api.domsnapshot

Contains DevTools Protocol DOMSnapshot domain implementation accessible via DOMSnapshotOperations class.

pl.wendigo.chrome.api.domstorage

Contains DevTools Protocol DOMStorage domain implementation accessible via DOMStorageOperations class.

pl.wendigo.chrome.api.emulation

Contains DevTools Protocol Emulation domain implementation accessible via EmulationOperations class.

pl.wendigo.chrome.api.fetch

Contains DevTools Protocol Fetch domain implementation accessible via FetchOperations class.

pl.wendigo.chrome.api.headlessexperimental

Contains DevTools Protocol HeadlessExperimental domain implementation accessible via HeadlessExperimentalOperations class.

pl.wendigo.chrome.api.heapprofiler

Contains DevTools Protocol HeapProfiler domain implementation accessible via HeapProfilerOperations class.

pl.wendigo.chrome.api.indexeddb

Contains DevTools Protocol IndexedDB domain implementation accessible via IndexedDBOperations class.

pl.wendigo.chrome.api.input

Contains DevTools Protocol Input domain implementation accessible via InputOperations class.

pl.wendigo.chrome.api.inspector

Contains DevTools Protocol Inspector domain implementation accessible via InspectorOperations class.

pl.wendigo.chrome.api.io

Contains DevTools Protocol IO domain implementation accessible via IOOperations class.

pl.wendigo.chrome.api.layertree

Contains DevTools Protocol LayerTree domain implementation accessible via LayerTreeOperations class.

pl.wendigo.chrome.api.log

Contains DevTools Protocol Log domain implementation accessible via LogOperations class.

pl.wendigo.chrome.api.media

Contains DevTools Protocol Media domain implementation accessible via MediaOperations class.

pl.wendigo.chrome.api.memory

Contains DevTools Protocol Memory domain implementation accessible via MemoryOperations class.

pl.wendigo.chrome.api.network

Contains DevTools Protocol Network domain implementation accessible via NetworkOperations class.

pl.wendigo.chrome.api.overlay

Contains DevTools Protocol Overlay domain implementation accessible via OverlayOperations class.

pl.wendigo.chrome.api.page

Contains DevTools Protocol Page domain implementation accessible via PageOperations class.

pl.wendigo.chrome.api.performance

Contains DevTools Protocol Performance domain implementation accessible via PerformanceOperations class.

pl.wendigo.chrome.api.profiler

Contains DevTools Protocol Profiler domain implementation accessible via ProfilerOperations class.

pl.wendigo.chrome.api.runtime

Contains DevTools Protocol Runtime domain implementation accessible via RuntimeOperations class.

pl.wendigo.chrome.api.schema

Contains DevTools Protocol Schema domain implementation accessible via SchemaOperations class.

pl.wendigo.chrome.api.security

Contains DevTools Protocol Security domain implementation accessible via SecurityOperations class.

pl.wendigo.chrome.api.serviceworker

Contains DevTools Protocol ServiceWorker domain implementation accessible via ServiceWorkerOperations class.

pl.wendigo.chrome.api.storage

Contains DevTools Protocol Storage domain implementation accessible via StorageOperations class.

pl.wendigo.chrome.api.systeminfo

Contains DevTools Protocol SystemInfo domain implementation accessible via SystemInfoOperations class.

pl.wendigo.chrome.api.target

Contains DevTools Protocol Target domain implementation accessible via TargetOperations class.

pl.wendigo.chrome.api.tethering

Contains DevTools Protocol Tethering domain implementation accessible via TetheringOperations class.

pl.wendigo.chrome.api.tracing

Contains DevTools Protocol Tracing domain implementation accessible via TracingOperations class.

pl.wendigo.chrome.api.webaudio

Contains DevTools Protocol WebAudio domain implementation accessible via WebAudioOperations class.

pl.wendigo.chrome.api.webauthn

Contains DevTools Protocol WebAuthn domain implementation accessible via WebAuthnOperations class.

pl.wendigo.chrome.protocol

Contains DevTools protocol primitives (DebuggerFramesStream, RequestFrame/ResponseFrame and Event base classes).

pl.wendigo.chrome.targets

Targets management related classes (Manager, TargetSession)

Index

All Types