89 lines
2.0 KiB
Bash
Executable File
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 open https://example.com --group research --bg
|
|
$CLI 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 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!"
|