Files
browser-cli/examples/demo.sh
T

89 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# browser-cli Bash demo
# ----------------------
# Shows how to drive your running browser from a shell script.
#
# Run with:
# bash examples/demo.sh
#
# Press ENTER to advance each step, or set AUTO=1 to run without pausing:
# AUTO=1 bash examples/demo.sh
CLI="uv run browser-cli"
DELAY=2 # seconds between steps in auto mode
pause() {
echo ""
if [ "${AUTO:-0}" = "1" ]; then
sleep "$DELAY"
else
read -rp " [press ENTER to continue] "
fi
echo ""
}
header() {
echo ""
echo "────────────────────────────────────"
echo " $1"
echo "────────────────────────────────────"
}
header "1/8 · Open tabs"
$CLI tabs list
pause
header "2/8 · Tab count & windows"
$CLI tabs count
echo ""
$CLI windows list
pause
header "3/8 · Create 'research' group and open URLs into it"
$CLI group create research
echo ""
$CLI nav open https://example.com --group research --bg
$CLI nav open https://wikipedia.org --group research --bg
echo ""
echo " Tabs are now open inside the 'research' group in your browser."
pause
header "4/8 · Tab hygiene — close duplicates, sort by domain"
$CLI tabs close --duplicates
echo ""
$CLI tabs sort --by domain
pause
header "5/8 · Find tabs by URL pattern or title"
$CLI tabs filter wikipedia
echo ""
$CLI tabs query "example"
pause
header "6/8 · DOM and content extraction (active tab)"
echo " Switching to the example.com tab first..."
$CLI nav focus example.com
echo ""
echo " Page headings:"
$CLI dom text h1
echo ""
echo " Links on the page:"
$CLI extract links
pause
header "7/8 · Session management"
$CLI session save before-meeting
echo ""
echo " Restore later with:"
echo " $CLI session load before-meeting"
echo ""
echo " Compare two sessions with:"
echo " $CLI session diff before-meeting after-meeting"
pause
header "8/8 · Merge all windows into one"
$CLI tabs merge-windows
echo ""
echo "Done!"