Key Points
Zhihu has strict anti-crawling mechanisms,you must use --session-name to save login state, otherwise you will need to log in again every time.
⚠️ Key: maintain --headed mode throughout
- Zhihu detects changes in access mode (headed ↔ headless)
- Login and search mustuse
--headedthroughout, and must not switch - Once the mode is switched, security verification will be triggered even if already logged in
Workflow
First use (login required)
# 1. 使用 --headed 模式打开登录页面(需要用户扫码/密码登录)
npx agent-browser --executable-path /usr/bin/google-chrome \
--session-name zhihu --headed open https://www.zhihu.com/signin
2. After the user completes login, subsequent operations do not require logging in again
### 后续使用(已登录)
```bash
# 全程使用 --headed 模式,不要切换
npx agent-browser --executable-path /usr/bin/google-chrome \
--session-name zhihu --headed open https://www.zhihu.com/search?q=关键词
Important: after logging in, do not close the browser; continue operating directly in the same window
Complete search example (recommended workflow)
# 1. 清除旧会话(如有问题)
npx agent-browser state clear zhihu-default
# 2. 登录(使用 --headed)
npx agent-browser --executable-path /usr/bin/google-chrome \
--session-name zhihu-default --headed open https://www.zhihu.com/signin
# 用户完成登录...
# 3. 搜索(保持 --headed,同一会话)
npx agent-browser open "https://www.zhihu.com/search?type=content&q=关键词"
npx agent-browser wait --load networkidle
npx agent-browser screenshot result.png --full
Key Parameter Description
| Parameter | Purpose | Required |
|---|---|---|
--session-name zhihu |
Save/reuse login state | ✅ Required |
--headed |
Show browser window (must be used for both login and search) | ✅ Required |
--executable-path |
Specify the system Chrome path | Recommended |
Common Error Handling
40362 error / security verification
Symptom: the page shows {"error":{"code":40362,"message":"您当前请求存在异常..."}} or asks you to click "Start verification"
Cause:
- Not logged in or session expired
- Access mode was switched(login used
--headed, search removed--headed)
Solution:
- Use
--headedmode throughout, do not switch - Ensure you use
--session-name zhihu - If it still reports an error, clear the session and log in again:
npx agent-browser state clear zhihu
Timeout error
Symptom:Timeout 25000ms exceeded
Solution:
# 使用 --full 截图时可能超时,建议先用普通截图
npx agent-browser screenshot result.png
# 或等待更长时间
npx agent-browser wait 5000
Daemon already running
Symptom:--executable-path ignored: daemon already running
Solution:
npx agent-browser close
sleep 1
# 重新执行命令
When is login required?
| Scenario | Whether login is required |
|---|---|
| Search content | ✅ Required |
| Browse the homepage | ✅ Required |
| View complete answers | ✅ Required |
| Search Zhihu via Baidu | ❌ Not required |
Session Management
# 查看已保存的会话
npx agent-browser state list
# 清除知乎会话(需要重新登录)
npx agent-browser state clear zhihu
# 关闭浏览器 npx agent-browser close
Environment Check
Check before starting:
# 检查系统 Chrome
which google-chrome
# 预期输出:/usr/bin/google-chrome
Quick Reference
# 完整命令链(已登录状态下)
npx agent-browser --executable-path /usr/bin/google-chrome \
--session-name zhihu open https://www.zhihu.com && \
npx agent-browser wait --load networkidle && \
npx agent-browser fill @e10 "搜索关键词" && \
npx agent-browser click @e11 && \
npx agent-browser wait --load networkidle && \
npx agent-browser screenshot /tmp/zhihu_search.png --full