hubcap screenshot

Capture a screenshot of the page or a specific element.

When to use

Use screenshot to capture an image of the current page or a specific element selected by CSS. Use --full to capture the entire scrollable page. Use --base64 to get inline image data instead of writing to a file. Use pdf for PDF export instead.

Usage

hubcap screenshot --output <file> [flags]
hubcap screenshot --base64 [flags]

Arguments

None.

Flags

FlagTypeDefaultDescription
—outputstring""File path to save the screenshot (required unless —base64)
—formatstring“png”Image format: png, jpeg, or webp
—qualityint80JPEG/WebP quality 0-100
—selectorstring""CSS selector for element screenshot
—fullboolfalseCapture the full scrollable page
—base64boolfalseReturn base64 data instead of file

Output

FieldTypeDescription
formatstringImage format used
sizeintFile size in bytes
datastringBase64-encoded image data (only with —base64)

Default output:

{"format":"png","size":12345}

With --base64:

{"format":"png","size":12345,"data":"iVBOR..."}

Errors

ConditionExit codeStderr
No output or base641error: --output or --base64 required
Selector not found1error: element not found: <sel>
Chrome not connected2error: connecting to Chrome: ...
Timeout3error: timeout

Examples

Capture the visible viewport:

hubcap screenshot --output page.png

Capture the full scrollable page:

hubcap screenshot --output full.png --full

Capture as JPEG with reduced quality:

hubcap screenshot --output page.jpg --format jpeg --quality 50

Capture a specific element:

hubcap screenshot --output hero.png --selector '.hero-banner'

Capture and return base64 data:

hubcap screenshot --base64 --format webp

Navigate to a page and screenshot it (chaining):

hubcap goto --wait https://example.com && hubcap screenshot --output example.png

See also

  • pdf - Export the page as a PDF document
  • viewport - Get or set the browser viewport size
  • emulate - Emulate a device

Also in Screenshots & export