# 典型场景示例 所有命令统一用 `bash scripts/nb.sh ` 调用(Windows 同义 `scripts/nb.cmd`)。 --- ## 1. 淘宝查最近 3 件已购商品 ```bash # 1. 打开淘宝(同名 session 自动恢复登录态) bash scripts/nb.sh open https://www.taobao.com --session=tb-main --headed # 2. 直接 goto 已购页(绕开头部 hover 触发问题) bash scripts/nb.sh goto https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm --session=tb-main # 3. 等加载完 bash scripts/nb.sh wait --session=tb-main --load-state=networkidle # 4. 拿 ARIA 树(含订单状态、商品名、价格、时间) bash scripts/nb.sh snapshot --session=tb-main # 5. 关闭 bash scripts/nb.sh close --session=tb-main ``` snapshot 输出(YAML)示例: ```yaml - main: - listitem [ref=e15]: - text: "城上轻居酒店(成都双流机场簇桥地铁站店)" - text: "¥99" - text: "交易成功" - link "订单详情" [ref=e17] - listitem [ref=e22]: - text: "Steam正版 死亡搁浅2" - text: "¥328" - text: "退款关闭" # ← 跳过这条 ``` --- ## 2. 小红书养号 — 启动+登录+抓 cookie ```bash # 启动会话(独立指纹+独立 IP) bash scripts/nb.sh open https://www.xiaohongshu.com \ --session=xhs-001 \ --proxy=http://user:pass@proxy.example.com:8080 \ --fingerprint-seed=10001 \ --headed # 看登录入口 bash scripts/nb.sh snapshot --session=xhs-001 # 拟人化点登录、填手机号 bash scripts/nb.sh click e1 --session=xhs-001 bash scripts/nb.sh fill e2 13800001234 --session=xhs-001 # 等用户在浏览器里完成扫码/验证码 # (AI 应该等用户确认后再继续) # 保存登录态供下次复用 bash scripts/nb.sh state-save --session=xhs-001 bash scripts/nb.sh cookie-list --session=xhs-001 --domain=xiaohongshu.com ``` --- ## 3. 触发 hover 下拉菜单(淘宝头部、京东个人中心等) ```bash # 直接 click 头部"已买到"不跳转,因为它是 hover 触发的下拉 # 正确做法:先 hover 父菜单 → wait → snapshot → click 下拉项 bash scripts/nb.sh hover e10 --session=tb-main # hover "我的淘宝" bash scripts/nb.sh wait --session=tb-main --timeout=1000 bash scripts/nb.sh snapshot --session=tb-main # 此时下拉已展开 bash scripts/nb.sh click e234 --session=tb-main # 下拉项 ref ``` --- ## 4. 表单填写(验证码 + 提交) ```bash bash scripts/nb.sh fill e5 "username@example.com" --session=form-1 bash scripts/nb.sh fill e6 "password123" --session=form-1 bash scripts/nb.sh check e7 --session=form-1 # 勾选"记住我" bash scripts/nb.sh select e8 "中国" --session=form-1 # 国家下拉 bash scripts/nb.sh press Tab --session=form-1 # 切到下一个输入 bash scripts/nb.sh fill e9 "1234" --session=form-1 # 验证码 bash scripts/nb.sh click e10 --session=form-1 # 提交 bash scripts/nb.sh wait --session=form-1 --load-state=networkidle ``` --- ## 5. 滚动加载更多(无限滚动列表) ```bash # 滚动 800px 等触发懒加载 bash scripts/nb.sh scroll 800 --session=feed --mode=full bash scripts/nb.sh wait --session=feed --load-state=networkidle bash scripts/nb.sh snapshot --session=feed ``` --- ## 6. 截图调试(看不懂 snapshot 时) ```bash # 截当前视口 bash scripts/nb.sh screenshot --session=tb-main --out=current.png # 截整页(含视口外) bash scripts/nb.sh screenshot --session=tb-main --full-page --out=full.png ``` --- ## 7. 拿现有 session 列表(避免重复打开) ```bash bash scripts/nb.sh list # {data: [{sessionName: "tb-main", url: "...", pageCount: 1, ...}]} ``` 如果目标 session 已存在 → 跳过 open,直接 snapshot/click。