devbrowser

package module
v0.3.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2026 License: MIT Imports: 27 Imported by: 0

README

devbrowser

A lightweight Go library for launching and controlling web browsers programmatically, designed for automation and development tools.

Usage

The main entry point is the New function, which creates a new browser controller:

import "github.com/tinywasm/devbrowser"

type myServerConfig struct{}
func (myServerConfig) GetServerPort() string { return "8080" }

type myUI struct{}
func (myUI) ReturnFocus() {}

func main() {
	exitChan := make(chan bool)
	browser := devbrowser.New(myServerConfig{}, myUI{}, exitChan)
	err := browser.OpenBrowser()
	if err != nil {
		// handle error
	}
	// ... use browser ...
	browser.CloseBrowser()
}

Public API

  • New(sc serverConfig, ui userInterface, exitChan chan bool) *DevBrowser: Create a new DevBrowser instance.

  • (*DevBrowser) OpenBrowser() error: Launch a new browser window.

  • (*DevBrowser) CloseBrowser() error: Close the browser and clean up resources.

  • (*DevBrowser) Reload() error: Reload the current page in the browser.

  • (*DevBrowser) RestartBrowser() error: Restart the browser (close and reopen).

  • (*DevBrowser) BrowserStartUrlChanged(fieldName, oldValue, newValue string) error: Handle changes to the start URL and restart the browser if open.

  • (*DevBrowser) BrowserPositionAndSizeChanged(fieldName, oldValue, newValue string) error: Change the browser window's position and size, and restart the browser.

  • (*DevBrowser) Name() string and (*DevBrowser) Label() string: For UI integration, returns the component name and label.

  • (*DevBrowser) Execute(progress func(msgs ...any)): For UI integration, toggles browser open/close and reports progress.

  • (*DevBrowser) SetHeadless(headless bool): Configure whether the browser runs in headless mode (without a visible UI).

    • Signature: func (b *DevBrowser) SetHeadless(headless bool)
    • Default: false (shows the browser window). This is convenient for local development and debugging.
    • Tests: the test helper DefaultTestBrowser() configures the returned DevBrowser with headless = true so unit tests run without requiring a graphical display.
    • Notes: Call this before OpenBrowser() (or before the browser context is created) to ensure the headless flag is applied when launching Chrome/Chromium.
    • Example:
db := devbrowser.New(myServerConfig{}, myUI{}, exitChan)
// run with no UI (useful in CI/tests)
db.SetHeadless(true)
err := db.OpenBrowser()
if err != nil {
		// handle error
}
  • (*DevBrowser) GetConsoleLogs() ([]string, error): Capture console messages from the loaded page.
    • Signature: func (b *DevBrowser) GetConsoleLogs() ([]string, error)
    • Behavior: injects a small script into the page that maintains window.__consoleLogs and returns its contents as a slice of strings. Captures console.log, console.error, console.warn, and console.info messages.
    • Requirements: the browser context must be initialized (OpenBrowser() called and context created). Returns an error if the context is not ready or the evaluation fails.
    • Example:
logs, err := db.GetConsoleLogs()
if err != nil {
		// handle error
}
for _, l := range logs {
		fmt.Println(l)
}
  • (*DevBrowser) ClearConsoleLogs() error: Clear the in-page captured console log buffer.
    • Signature: func (b *DevBrowser) ClearConsoleLogs() error
    • Behavior: executes a small script that resets window.__consoleLogs = [] if present.
    • Requirements: the browser context must be initialized. Returns an error if the evaluation fails.
    • Example:
err := db.ClearConsoleLogs()
if err != nil {
		// handle error
}

Documentation

Index

Constants

View Source
const (
	StoreKeyBrowserAutostart = "browser_autostart"
	StoreKeyBrowserPosition  = "browser_position"
	StoreKeyBrowserSize      = "browser_size"
	StoreKeyViewportMode     = "viewport_mode"
)

Store keys for browser configuration

View Source
const GetPerformanceJS = `` /* 1714-byte string literal not displayed */

GetPerformanceJS extracts page performance metrics optimized for LLM consumption.

View Source
const GetStructureJS = `` /* 3048-byte string literal not displayed */

GetStructureJS is the JavaScript used to extract the page structure for LLM understanding.

View Source
const InspectElementJS = `` /* 2480-byte string literal not displayed */

InspectElementJS extracts detailed element information like Chrome DevTools. Returns a JSON-like string with box model, position, styles, and accessibility info.

Variables

View Source
var QueryMonitorSize = func() (int, int) {
	n := screenshot.NumActiveDisplays()
	if n <= 0 {
		return 0, 0
	}

	bounds := screenshot.GetDisplayBounds(0)
	return bounds.Dx(), bounds.Dy()
}

QueryMonitorSize is a function variable to allow mocking in tests. It returns width, height of the primary display.

Functions

func EncodeSchema added in v0.3.19

func EncodeSchema(f fmt.Fielder) string

func FormatPerformanceReport added in v0.3.19

func FormatPerformanceReport(pageURL string, metrics map[string]any) string

FormatPerformanceReport builds a compact text report from raw JS metrics.

Types

type ClickElementArgs added in v0.3.19

type ClickElementArgs struct {
	Selector  string `db:"not_null" input:"-"`
	WaitAfter int    `input:"number"`
	Timeout   int    `input:"number"`
}

ormc:formonly

func (*ClickElementArgs) Pointers added in v0.3.19

func (m *ClickElementArgs) Pointers() []any

func (*ClickElementArgs) Schema added in v0.3.19

func (m *ClickElementArgs) Schema() []fmt.Field

func (*ClickElementArgs) Validate added in v0.3.19

func (m *ClickElementArgs) Validate(action byte) error

type CloseBrowserArgs added in v0.3.19

type CloseBrowserArgs struct {
	Reserved int `input:"-"`
}

ormc:formonly

func (*CloseBrowserArgs) Pointers added in v0.3.19

func (m *CloseBrowserArgs) Pointers() []any

func (*CloseBrowserArgs) Schema added in v0.3.19

func (m *CloseBrowserArgs) Schema() []fmt.Field

func (*CloseBrowserArgs) Validate added in v0.3.19

func (m *CloseBrowserArgs) Validate(action byte) error

type DevBrowser

type DevBrowser struct {
	UI             UserInterface
	Width          int    // ej "800" default "1024"
	Height         int    //ej: "600" default "768"
	Position       string //ej: "1930,0" (when you have second monitor) default: "0,0"
	Headless       bool   // true para modo headless (sin UI), false muestra el navegador
	AutoStart      bool   // true if browser should auto-open on startup
	MonitorWidth   int    // Detected monitor availability width
	MonitorHeight  int    // Detected monitor availability height
	SizeConfigured bool   // Track if size was loaded from storage
	ViewportMode   string // Current emulation mode ("mobile", "tablet", "desktop", "off", "")
	FirstCall      bool   // Internal flag to track if OpenBrowser was called for the first time
	OpenedOnce     bool   // Internal flag to track if browser was actually opened at least once

	LastPort  string
	LastHttps bool

	IsOpenFlag bool // Indica si el navegador está abierto

	DB Store // Key-value store para configuración y estado

	// chromedp fields
	Ctx    context.Context
	Cancel context.CancelFunc

	ReadyChan chan bool
	ErrChan   chan error
	ExitChan  chan bool

	Log func(message ...any) // For logging output (Loggable interface)

	// Console log capture
	ConsoleLogs []string
	LogsMutex   sync.Mutex

	// Network log capture
	NetworkLogs  []NetworkLogEntry
	NetworkMutex sync.Mutex

	// JS error capture
	JsErrors    []JSError
	ErrorsMutex sync.Mutex

	// Operation busy flag (atomic) to prevent race conditions and UI blocking
	// 0 = idle, 1 = busy
	Busy int32

	TestMode bool // Skip opening browser in tests

	// Cache configuration
	CacheEnabled bool // Disabled by default for development
	Mu           sync.Mutex
}

func New

func New(ui UserInterface, st Store, exitChan chan bool, opts ...Option) *DevBrowser

devbrowser.New creates a new DevBrowser instance.

type serverConfig interface {
	GetServerPort() string
}

type userInterface interface {
	RefreshUI()
	ReturnFocus() error
}

example :  New(userInterface, st, exitChan, WithCache(true))

func (*DevBrowser) BrowserPositionAndSizeChanged

func (h *DevBrowser) BrowserPositionAndSizeChanged(fieldName string, oldValue, newValue string) error

func (*DevBrowser) BrowserStartUrlChanged

func (h *DevBrowser) BrowserStartUrlChanged(fieldName string, oldValue, newValue string) error

func (*DevBrowser) CalculateConstrainedSize added in v0.3.19

func (b *DevBrowser) CalculateConstrainedSize(reqW, reqH, monW, monH int) (int, int)

calculateConstrainedSize determines the best window size based on available monitor space and previous configuration.

logic: 1. If monitor size is unknown (0x0), return requested size 2. If valid monitor size:

  • If !sizeConfigured (first run or auto): Accept requested size BUT ensure it fits within monitor (clamping)
  • If sizeConfigured (user manually set size): Check if it fits. If not, scale down or clamp. To be safe, we clamp to available area.

In all cases, we ensure the window is not larger than the available screen area.

func (*DevBrowser) CaptureElementScreenshot added in v0.2.33

func (b *DevBrowser) CaptureElementScreenshot(selector string) (*ScreenshotResult, error)

CaptureElementScreenshot captures a screenshot of a specific element.

func (*DevBrowser) CaptureScreenshot added in v0.2.33

func (b *DevBrowser) CaptureScreenshot(fullpage bool) (*ScreenshotResult, error)

CaptureScreenshot captures a screenshot of the current page.

func (*DevBrowser) Change added in v0.2.6

func (h *DevBrowser) Change(newValue string)

Change handles user input: toggles auto-start or browser state

func (*DevBrowser) ClearConsoleLogs

func (b *DevBrowser) ClearConsoleLogs() error

ClearConsoleLogs clears the captured console logs.

func (*DevBrowser) CloseBrowser

func (h *DevBrowser) CloseBrowser() error

func (*DevBrowser) CreateBrowserContext

func (h *DevBrowser) CreateBrowserContext() error

func (*DevBrowser) DetectMonitorSize added in v0.3.19

func (b *DevBrowser) DetectMonitorSize()

detectMonitorSize attempts to retrieve the primary monitor's dimensions. It updates the DevBrowser's monitorWidth and monitorHeight fields.

func (*DevBrowser) GetConsoleLogs

func (b *DevBrowser) GetConsoleLogs() ([]string, error)

GetConsoleLogs returns captured console logs from the browser. Returns an error if the browser context is not initialized.

func (*DevBrowser) GetConsoleTools added in v0.3.19

func (b *DevBrowser) GetConsoleTools() []mcp.Tool

func (*DevBrowser) GetErrorTools added in v0.3.19

func (b *DevBrowser) GetErrorTools() []mcp.Tool

func (*DevBrowser) GetEvaluateJsTools added in v0.3.19

func (b *DevBrowser) GetEvaluateJsTools() []mcp.Tool

func (*DevBrowser) GetInspectTools added in v0.3.19

func (b *DevBrowser) GetInspectTools() []mcp.Tool

func (*DevBrowser) GetInteractionTools added in v0.3.19

func (b *DevBrowser) GetInteractionTools() []mcp.Tool

func (*DevBrowser) GetLog added in v0.3.15

func (b *DevBrowser) GetLog() func(message ...any)

func (*DevBrowser) GetMCPTools added in v0.3.10

func (b *DevBrowser) GetMCPTools() []mcp.Tool

GetMCPTools returns metadata for all DevBrowser MCP tools

func (*DevBrowser) GetManagementTools added in v0.3.19

func (b *DevBrowser) GetManagementTools() []mcp.Tool

func (*DevBrowser) GetNavigationTools added in v0.3.19

func (b *DevBrowser) GetNavigationTools() []mcp.Tool

func (*DevBrowser) GetNetworkTools added in v0.3.19

func (b *DevBrowser) GetNetworkTools() []mcp.Tool

func (*DevBrowser) GetPerformanceTools added in v0.3.19

func (b *DevBrowser) GetPerformanceTools() []mcp.Tool

func (*DevBrowser) GetPresetSize added in v0.3.19

func (b *DevBrowser) GetPresetSize(mode string) (int, int, error)

getPresetSize calculates the optimal dimensions for a requested preset mode. It uses predefined base sizes but ensures they fit within the current monitor constraints.

func (*DevBrowser) GetScreenshotTools added in v0.3.19

func (b *DevBrowser) GetScreenshotTools() []mcp.Tool

func (*DevBrowser) GetStructureTools added in v0.3.19

func (b *DevBrowser) GetStructureTools() []mcp.Tool

func (*DevBrowser) InitializeConsoleCapture added in v0.3.19

func (b *DevBrowser) InitializeConsoleCapture() error

func (*DevBrowser) IsOpen added in v0.3.19

func (b *DevBrowser) IsOpen() bool

func (*DevBrowser) Label

func (h *DevBrowser) Label() string

func (*DevBrowser) LoadConfig added in v0.2.7

func (b *DevBrowser) LoadConfig()

LoadConfig loads all browser configuration from the store

func (*DevBrowser) Logger added in v0.2.5

func (b *DevBrowser) Logger(messages ...any)

func (*DevBrowser) Name

func (h *DevBrowser) Name() string

func (*DevBrowser) NavigateToURL added in v0.3.19

func (b *DevBrowser) NavigateToURL(url string) error

func (*DevBrowser) OpenBrowser

func (h *DevBrowser) OpenBrowser(port string, https bool)

func (*DevBrowser) Reload

func (b *DevBrowser) Reload() error

func (*DevBrowser) RestartBrowser

func (h *DevBrowser) RestartBrowser() error

func (*DevBrowser) SaveConfig added in v0.2.7

func (b *DevBrowser) SaveConfig() error

SaveConfig saves all browser configuration to the store

func (*DevBrowser) SetBrowserPositionAndSize added in v0.3.19

func (b *DevBrowser) SetBrowserPositionAndSize(newConfig string) (err error)

func (*DevBrowser) SetHeadless

func (b *DevBrowser) SetHeadless(headless bool)

SetHeadless configura si el navegador debe ejecutarse en modo headless (sin UI). Por defecto es false (muestra la ventana del navegador). Debe llamarse antes de OpenBrowser().

func (*DevBrowser) SetLog added in v0.2.5

func (b *DevBrowser) SetLog(f func(message ...any))

func (*DevBrowser) SetTestMode added in v0.2.8

func (b *DevBrowser) SetTestMode(testMode bool)

func (*DevBrowser) Shortcuts added in v0.2.6

func (h *DevBrowser) Shortcuts() []map[string]string

Shortcuts registers "B" for browser toggle

func (*DevBrowser) StartWithDetectedSize added in v0.3.19

func (b *DevBrowser) StartWithDetectedSize()

startWithDetectedSize updates the browser size if it hasn't been configured yet and we have detected a monitor size.

func (*DevBrowser) StatusMessage added in v0.2.6

func (h *DevBrowser) StatusMessage() string

StatusMessage returns formatted browser status for logging Format: "Open | Auto-Start: t | Shortcut B" or "Closed | Auto-Start: f | Shortcut B"

func (*DevBrowser) Value added in v0.2.6

func (h *DevBrowser) Value() string

Value returns current auto-start setting as "t" or "f"

type EmptyArgs added in v0.3.19

type EmptyArgs struct {
	Reserved int `input:"-"`
}

ormc:formonly

func (*EmptyArgs) Pointers added in v0.3.19

func (m *EmptyArgs) Pointers() []any

func (*EmptyArgs) Schema added in v0.3.19

func (m *EmptyArgs) Schema() []fmt.Field

func (*EmptyArgs) Validate added in v0.3.19

func (m *EmptyArgs) Validate(action byte) error

type EmulateDeviceArgs added in v0.3.19

type EmulateDeviceArgs struct {
	Mode     string `db:"not_null" input:"-"`
	Capture  bool   `input:"-"`
	Selector string `input:"-"`
}

ormc:formonly

func (*EmulateDeviceArgs) Pointers added in v0.3.19

func (m *EmulateDeviceArgs) Pointers() []any

func (*EmulateDeviceArgs) Schema added in v0.3.19

func (m *EmulateDeviceArgs) Schema() []fmt.Field

func (*EmulateDeviceArgs) Validate added in v0.3.19

func (m *EmulateDeviceArgs) Validate(action byte) error

type EvaluateJSArgs added in v0.3.19

type EvaluateJSArgs struct {
	Script       string `db:"not_null" input:"-"`
	AwaitPromise bool   `input:"-"`
}

ormc:formonly

func (*EvaluateJSArgs) Pointers added in v0.3.19

func (m *EvaluateJSArgs) Pointers() []any

func (*EvaluateJSArgs) Schema added in v0.3.19

func (m *EvaluateJSArgs) Schema() []fmt.Field

func (*EvaluateJSArgs) Validate added in v0.3.19

func (m *EvaluateJSArgs) Validate(action byte) error

type FillElementArgs added in v0.3.19

type FillElementArgs struct {
	Selector  string `db:"not_null" input:"-"`
	Value     string `db:"not_null" input:"-"`
	WaitAfter int    `input:"number"`
	Timeout   int    `input:"number"`
}

ormc:formonly

func (*FillElementArgs) Pointers added in v0.3.19

func (m *FillElementArgs) Pointers() []any

func (*FillElementArgs) Schema added in v0.3.19

func (m *FillElementArgs) Schema() []fmt.Field

func (*FillElementArgs) Validate added in v0.3.19

func (m *FillElementArgs) Validate(action byte) error

type GetConsoleArgs added in v0.3.19

type GetConsoleArgs struct {
	Lines int `input:"number"`
}

ormc:formonly

func (*GetConsoleArgs) Pointers added in v0.3.19

func (m *GetConsoleArgs) Pointers() []any

func (*GetConsoleArgs) Schema added in v0.3.19

func (m *GetConsoleArgs) Schema() []fmt.Field

func (*GetConsoleArgs) Validate added in v0.3.19

func (m *GetConsoleArgs) Validate(action byte) error

type GetContentArgs added in v0.3.19

type GetContentArgs struct {
	Reserved int `input:"-"`
}

ormc:formonly

func (*GetContentArgs) Pointers added in v0.3.19

func (m *GetContentArgs) Pointers() []any

func (*GetContentArgs) Schema added in v0.3.19

func (m *GetContentArgs) Schema() []fmt.Field

func (*GetContentArgs) Validate added in v0.3.19

func (m *GetContentArgs) Validate(action byte) error

type GetErrorsArgs added in v0.3.19

type GetErrorsArgs struct {
	Limit int `input:"number"`
}

ormc:formonly

func (*GetErrorsArgs) Pointers added in v0.3.19

func (m *GetErrorsArgs) Pointers() []any

func (*GetErrorsArgs) Schema added in v0.3.19

func (m *GetErrorsArgs) Schema() []fmt.Field

func (*GetErrorsArgs) Validate added in v0.3.19

func (m *GetErrorsArgs) Validate(action byte) error

type GetNetworkLogsArgs added in v0.3.19

type GetNetworkLogsArgs struct {
	Filter string `input:"-"`
	Limit  int    `input:"number"`
}

ormc:formonly

func (*GetNetworkLogsArgs) Pointers added in v0.3.19

func (m *GetNetworkLogsArgs) Pointers() []any

func (*GetNetworkLogsArgs) Schema added in v0.3.19

func (m *GetNetworkLogsArgs) Schema() []fmt.Field

func (*GetNetworkLogsArgs) Validate added in v0.3.19

func (m *GetNetworkLogsArgs) Validate(action byte) error

type GetPerformanceArgs added in v0.3.19

type GetPerformanceArgs struct {
	Reserved int `input:"-"`
}

ormc:formonly

func (*GetPerformanceArgs) Pointers added in v0.3.19

func (m *GetPerformanceArgs) Pointers() []any

func (*GetPerformanceArgs) Schema added in v0.3.19

func (m *GetPerformanceArgs) Schema() []fmt.Field

func (*GetPerformanceArgs) Validate added in v0.3.19

func (m *GetPerformanceArgs) Validate(action byte) error

type InspectElementArgs added in v0.3.19

type InspectElementArgs struct {
	Selector string `db:"not_null" input:"-"`
}

ormc:formonly

func (*InspectElementArgs) Pointers added in v0.3.19

func (m *InspectElementArgs) Pointers() []any

func (*InspectElementArgs) Schema added in v0.3.19

func (m *InspectElementArgs) Schema() []fmt.Field

func (*InspectElementArgs) Validate added in v0.3.19

func (m *InspectElementArgs) Validate(action byte) error

type JSError

type JSError struct {
	Message      string
	Source       string // File/URL where error occurred
	LineNumber   int
	ColumnNumber int
	StackTrace   string
	Timestamp    time.Time
}
type NavigateArgs struct {
	URL string `db:"not_null" input:"-"`
}

ormc:formonly

func (m *NavigateArgs) Pointers() []any
func (m *NavigateArgs) Schema() []fmt.Field
func (m *NavigateArgs) Validate(action byte) error

type NetworkLogEntry

type NetworkLogEntry struct {
	URL       string
	Method    string
	Status    int
	Type      string // xhr, fetch, document, script, image, etc.
	Duration  int64  // milliseconds
	Failed    bool
	ErrorText string
}

type OpenBrowserArgs added in v0.3.19

type OpenBrowserArgs struct {
	Port  string `input:"-"`
	Https bool   `input:"-"`
}

ormc:formonly

func (*OpenBrowserArgs) Pointers added in v0.3.19

func (m *OpenBrowserArgs) Pointers() []any

func (*OpenBrowserArgs) Schema added in v0.3.19

func (m *OpenBrowserArgs) Schema() []fmt.Field

func (*OpenBrowserArgs) Validate added in v0.3.19

func (m *OpenBrowserArgs) Validate(action byte) error

type Option added in v0.2.38

type Option func(*DevBrowser)

Option configures the DevBrowser

func WithCache added in v0.2.38

func WithCache(enabled bool) Option

WithCache configures whether the browser cache is enabled

type ScreenshotArgs added in v0.3.19

type ScreenshotArgs struct {
	Fullpage bool `input:"-"`
}

ormc:formonly

func (*ScreenshotArgs) Pointers added in v0.3.19

func (m *ScreenshotArgs) Pointers() []any

func (*ScreenshotArgs) Schema added in v0.3.19

func (m *ScreenshotArgs) Schema() []fmt.Field

func (*ScreenshotArgs) Validate added in v0.3.19

func (m *ScreenshotArgs) Validate(action byte) error

type ScreenshotResult added in v0.2.33

type ScreenshotResult struct {
	ImageData     []byte
	PageTitle     string
	PageURL       string
	Width         int
	Height        int
	HTMLStructure string
}

ScreenshotResult contains the image data and metadata about the captured page.

type Store added in v0.3.19

type Store interface {
	Get(key string) (string, error)
	Set(key, value string) error
}

type SwipeElementArgs added in v0.3.19

type SwipeElementArgs struct {
	Selector  string `db:"not_null" input:"-"`
	Direction string `db:"not_null" input:"-"`
	Distance  int    `db:"not_null" input:"number"`
}

ormc:formonly

func (*SwipeElementArgs) Pointers added in v0.3.19

func (m *SwipeElementArgs) Pointers() []any

func (*SwipeElementArgs) Schema added in v0.3.19

func (m *SwipeElementArgs) Schema() []fmt.Field

func (*SwipeElementArgs) Validate added in v0.3.19

func (m *SwipeElementArgs) Validate(action byte) error

type UserInterface added in v0.3.19

type UserInterface interface {
	RefreshUI()
	ReturnFocus() error
}

Directories

Path Synopsis
Package cdproto provides the Chrome DevTools Protocol commands, types, and events for the cdproto domain.
Package cdproto provides the Chrome DevTools Protocol commands, types, and events for the cdproto domain.
accessibility
Package accessibility provides the Chrome DevTools Protocol commands, types, and events for the Accessibility domain.
Package accessibility provides the Chrome DevTools Protocol commands, types, and events for the Accessibility domain.
animation
Package animation provides the Chrome DevTools Protocol commands, types, and events for the Animation domain.
Package animation provides the Chrome DevTools Protocol commands, types, and events for the Animation domain.
audits
Package audits provides the Chrome DevTools Protocol commands, types, and events for the Audits domain.
Package audits provides the Chrome DevTools Protocol commands, types, and events for the Audits domain.
autofill
Package autofill provides the Chrome DevTools Protocol commands, types, and events for the Autofill domain.
Package autofill provides the Chrome DevTools Protocol commands, types, and events for the Autofill domain.
backgroundservice
Package backgroundservice provides the Chrome DevTools Protocol commands, types, and events for the BackgroundService domain.
Package backgroundservice provides the Chrome DevTools Protocol commands, types, and events for the BackgroundService domain.
browser
Package browser provides the Chrome DevTools Protocol commands, types, and events for the Browser domain.
Package browser provides the Chrome DevTools Protocol commands, types, and events for the Browser domain.
cachestorage
Package cachestorage provides the Chrome DevTools Protocol commands, types, and events for the CacheStorage domain.
Package cachestorage provides the Chrome DevTools Protocol commands, types, and events for the CacheStorage domain.
cast
Package cast provides the Chrome DevTools Protocol commands, types, and events for the Cast domain.
Package cast provides the Chrome DevTools Protocol commands, types, and events for the Cast domain.
cdp
css
Package css provides the Chrome DevTools Protocol commands, types, and events for the CSS domain.
Package css provides the Chrome DevTools Protocol commands, types, and events for the CSS domain.
database
Package database provides the Chrome DevTools Protocol commands, types, and events for the Database domain.
Package database provides the Chrome DevTools Protocol commands, types, and events for the Database domain.
debugger
Package debugger provides the Chrome DevTools Protocol commands, types, and events for the Debugger domain.
Package debugger provides the Chrome DevTools Protocol commands, types, and events for the Debugger domain.
deviceaccess
Package deviceaccess provides the Chrome DevTools Protocol commands, types, and events for the DeviceAccess domain.
Package deviceaccess provides the Chrome DevTools Protocol commands, types, and events for the DeviceAccess domain.
deviceorientation
Package deviceorientation provides the Chrome DevTools Protocol commands, types, and events for the DeviceOrientation domain.
Package deviceorientation provides the Chrome DevTools Protocol commands, types, and events for the DeviceOrientation domain.
dom
Package dom provides the Chrome DevTools Protocol commands, types, and events for the DOM domain.
Package dom provides the Chrome DevTools Protocol commands, types, and events for the DOM domain.
domdebugger
Package domdebugger provides the Chrome DevTools Protocol commands, types, and events for the DOMDebugger domain.
Package domdebugger provides the Chrome DevTools Protocol commands, types, and events for the DOMDebugger domain.
domsnapshot
Package domsnapshot provides the Chrome DevTools Protocol commands, types, and events for the DOMSnapshot domain.
Package domsnapshot provides the Chrome DevTools Protocol commands, types, and events for the DOMSnapshot domain.
domstorage
Package domstorage provides the Chrome DevTools Protocol commands, types, and events for the DOMStorage domain.
Package domstorage provides the Chrome DevTools Protocol commands, types, and events for the DOMStorage domain.
emulation
Package emulation provides the Chrome DevTools Protocol commands, types, and events for the Emulation domain.
Package emulation provides the Chrome DevTools Protocol commands, types, and events for the Emulation domain.
eventbreakpoints
Package eventbreakpoints provides the Chrome DevTools Protocol commands, types, and events for the EventBreakpoints domain.
Package eventbreakpoints provides the Chrome DevTools Protocol commands, types, and events for the EventBreakpoints domain.
extensions
Package extensions provides the Chrome DevTools Protocol commands, types, and events for the Extensions domain.
Package extensions provides the Chrome DevTools Protocol commands, types, and events for the Extensions domain.
fedcm
Package fedcm provides the Chrome DevTools Protocol commands, types, and events for the FedCm domain.
Package fedcm provides the Chrome DevTools Protocol commands, types, and events for the FedCm domain.
fetch
Package fetch provides the Chrome DevTools Protocol commands, types, and events for the Fetch domain.
Package fetch provides the Chrome DevTools Protocol commands, types, and events for the Fetch domain.
har
Package har provides the Chrome DevTools Protocol commands, types, and events for the HAR domain.
Package har provides the Chrome DevTools Protocol commands, types, and events for the HAR domain.
headlessexperimental
Package headlessexperimental provides the Chrome DevTools Protocol commands, types, and events for the HeadlessExperimental domain.
Package headlessexperimental provides the Chrome DevTools Protocol commands, types, and events for the HeadlessExperimental domain.
heapprofiler
Package heapprofiler provides the Chrome DevTools Protocol commands, types, and events for the HeapProfiler domain.
Package heapprofiler provides the Chrome DevTools Protocol commands, types, and events for the HeapProfiler domain.
indexeddb
Package indexeddb provides the Chrome DevTools Protocol commands, types, and events for the IndexedDB domain.
Package indexeddb provides the Chrome DevTools Protocol commands, types, and events for the IndexedDB domain.
input
Package input provides the Chrome DevTools Protocol commands, types, and events for the Input domain.
Package input provides the Chrome DevTools Protocol commands, types, and events for the Input domain.
inspector
Package inspector provides the Chrome DevTools Protocol commands, types, and events for the Inspector domain.
Package inspector provides the Chrome DevTools Protocol commands, types, and events for the Inspector domain.
io
Package io provides the Chrome DevTools Protocol commands, types, and events for the IO domain.
Package io provides the Chrome DevTools Protocol commands, types, and events for the IO domain.
layertree
Package layertree provides the Chrome DevTools Protocol commands, types, and events for the LayerTree domain.
Package layertree provides the Chrome DevTools Protocol commands, types, and events for the LayerTree domain.
log
Package log provides the Chrome DevTools Protocol commands, types, and events for the Log domain.
Package log provides the Chrome DevTools Protocol commands, types, and events for the Log domain.
media
Package media provides the Chrome DevTools Protocol commands, types, and events for the Media domain.
Package media provides the Chrome DevTools Protocol commands, types, and events for the Media domain.
memory
Package memory provides the Chrome DevTools Protocol commands, types, and events for the Memory domain.
Package memory provides the Chrome DevTools Protocol commands, types, and events for the Memory domain.
network
Package network provides the Chrome DevTools Protocol commands, types, and events for the Network domain.
Package network provides the Chrome DevTools Protocol commands, types, and events for the Network domain.
overlay
Package overlay provides the Chrome DevTools Protocol commands, types, and events for the Overlay domain.
Package overlay provides the Chrome DevTools Protocol commands, types, and events for the Overlay domain.
page
Package page provides the Chrome DevTools Protocol commands, types, and events for the Page domain.
Package page provides the Chrome DevTools Protocol commands, types, and events for the Page domain.
performance
Package performance provides the Chrome DevTools Protocol commands, types, and events for the Performance domain.
Package performance provides the Chrome DevTools Protocol commands, types, and events for the Performance domain.
performancetimeline
Package performancetimeline provides the Chrome DevTools Protocol commands, types, and events for the PerformanceTimeline domain.
Package performancetimeline provides the Chrome DevTools Protocol commands, types, and events for the PerformanceTimeline domain.
preload
Package preload provides the Chrome DevTools Protocol commands, types, and events for the Preload domain.
Package preload provides the Chrome DevTools Protocol commands, types, and events for the Preload domain.
profiler
Package profiler provides the Chrome DevTools Protocol commands, types, and events for the Profiler domain.
Package profiler provides the Chrome DevTools Protocol commands, types, and events for the Profiler domain.
pwa
Package pwa provides the Chrome DevTools Protocol commands, types, and events for the PWA domain.
Package pwa provides the Chrome DevTools Protocol commands, types, and events for the PWA domain.
runtime
Package runtime provides the Chrome DevTools Protocol commands, types, and events for the Runtime domain.
Package runtime provides the Chrome DevTools Protocol commands, types, and events for the Runtime domain.
security
Package security provides the Chrome DevTools Protocol commands, types, and events for the Security domain.
Package security provides the Chrome DevTools Protocol commands, types, and events for the Security domain.
serviceworker
Package serviceworker provides the Chrome DevTools Protocol commands, types, and events for the ServiceWorker domain.
Package serviceworker provides the Chrome DevTools Protocol commands, types, and events for the ServiceWorker domain.
storage
Package storage provides the Chrome DevTools Protocol commands, types, and events for the Storage domain.
Package storage provides the Chrome DevTools Protocol commands, types, and events for the Storage domain.
systeminfo
Package systeminfo provides the Chrome DevTools Protocol commands, types, and events for the SystemInfo domain.
Package systeminfo provides the Chrome DevTools Protocol commands, types, and events for the SystemInfo domain.
target
Package target provides the Chrome DevTools Protocol commands, types, and events for the Target domain.
Package target provides the Chrome DevTools Protocol commands, types, and events for the Target domain.
tethering
Package tethering provides the Chrome DevTools Protocol commands, types, and events for the Tethering domain.
Package tethering provides the Chrome DevTools Protocol commands, types, and events for the Tethering domain.
tracing
Package tracing provides the Chrome DevTools Protocol commands, types, and events for the Tracing domain.
Package tracing provides the Chrome DevTools Protocol commands, types, and events for the Tracing domain.
webaudio
Package webaudio provides the Chrome DevTools Protocol commands, types, and events for the WebAudio domain.
Package webaudio provides the Chrome DevTools Protocol commands, types, and events for the WebAudio domain.
webauthn
Package webauthn provides the Chrome DevTools Protocol commands, types, and events for the WebAuthn domain.
Package webauthn provides the Chrome DevTools Protocol commands, types, and events for the WebAuthn domain.
Package chromedp is a high level Chrome DevTools Protocol client that simplifies driving browsers for scraping, unit testing, or profiling web pages using the CDP.
Package chromedp is a high level Chrome DevTools Protocol client that simplifies driving browsers for scraping, unit testing, or profiling web pages using the CDP.
device
Package device contains device emulation definitions for use with chromedp's Emulate action.
Package device contains device emulation definitions for use with chromedp's Emulate action.
kb
Package kb provides keyboard mappings for Chrome DOM Keys for use with input events.
Package kb provides keyboard mappings for Chrome DOM Keys for use with input events.
Package httphead contains utils for parsing HTTP and HTTP-grammar compatible text protocols headers.
Package httphead contains utils for parsing HTTP and HTTP-grammar compatible text protocols headers.
Package humanize converts boring ugly numbers to human-friendly strings and back.
Package humanize converts boring ugly numbers to human-friendly strings and back.
english
Package english provides utilities to generate more user-friendly English output.
Package english provides utilities to generate more user-friendly English output.
Package intern interns strings.
Package intern interns strings.
cmd/pixelmatch command
Package pool contains helpers for pooling structures distinguishable by size.
Package pool contains helpers for pooling structures distinguishable by size.
pbufio
Package pbufio contains tools for pooling bufio.Reader and bufio.Writers.
Package pbufio contains tools for pooling bufio.Reader and bufio.Writers.
pbytes
Package pbytes contains tools for pooling byte pool.
Package pbytes contains tools for pooling byte pool.
Package screenresolution is used to retrieve the current screen resolution.
Package screenresolution is used to retrieve the current screen resolution.
cmd/boottime command
ws
Package ws implements a client and server for the WebSocket protocol as specified in RFC 6455.
Package ws implements a client and server for the WebSocket protocol as specified in RFC 6455.
autobahn command
wsutil
Package wsutil provides utilities for working with WebSocket protocol.
Package wsutil provides utilities for working with WebSocket protocol.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL