小红书发布页默认等待 load 导致 Page.goto 30s 超时误判

Author: zhanghj-javaCreated Aug 27, 2026Updated Aug 27, 2026

小红书发布页默认等待 load 导致 Page.goto 30s 超时误判

背景

使用 sau xiaohongshu upload-video 发布视频时,账号 cookie 已经有效,上传前检查也能通过,但进入小红书创作者发布页时偶发失败:

Page.goto: Timeout 30000ms exceeded.
Call log:
  - navigating to "https://creator.xiaohongshu.com/publish/publish?from=homepage&target=video", waiting until "load"

复现命令

bash
sau xiaohongshu upload-video \
  --account my_xhs \
  --file /path/to/video.mp4 \
  --title "test" \
  --desc "test" \
  --tags "AI工具,效率工具" \
  --thumbnail /path/to/cover.png \
  --headed

现象

  • cookie_auth 可以判断 cookie 有效。
  • upload-video 的上传前检查可以通过。
  • 进入发布页时,page.goto(publish_url) 默认等待完整 load
  • 小红书 creator 页面部分静态资源加载较慢或被网络环境拖住时,Playwright/Patchright 在 30 秒默认超时后抛错。
  • 这会让自动发布失败,但页面主体有时其实已经可交互。

期望

发布页导航不应依赖完整 load 事件。对 SPA/重资源页面,更稳的策略是等待 domcontentloaded,并显式拉长 timeout,然后继续等待关键表单元素出现。

本地验证过的修复方向

uploader/xiaohongshu_uploader/main.py 中增加统一超时常量:

python
XHS_NAVIGATION_TIMEOUT_MS = 120000

并把以下位置的 page.goto(...) 调整为:

python
await page.goto(
    target_url,
    wait_until="domcontentloaded",
    timeout=XHS_NAVIGATION_TIMEOUT_MS,
)

涉及位置:

  • cookie_auth
  • xiaohongshu_cookie_gen
  • XiaoHongShuVideo.upload_video_content
  • XiaoHongShuNote.upload_note_content

本地调整后,原先卡在发布页导航的流程可以继续进入标题、描述、话题填写步骤。

备注

后续如果平台内容审核提示违反社区规范,这是另一个内容/风控问题,不属于本 issue。这个 issue 只针对发布页导航等待完整 load 导致的超时误判。

Source: dreammis/social-auto-upload