xpzouying/xiaohongshu-mcp · error

未找到分区标签 %q

Error message

未找到分区标签 %q

What it means

switchTab 遍历所有 .reds-tab-item 均未找到文本与 tabLabels 中目标标签(如「赞和收藏」)匹配的项:分区标签未渲染、文案变化或不在通知页。与 Elements 报错分支相区分,这里查询本身成功。

Source

Thrown at xiaohongshu/notification.go:195

	label := tabLabels[tab]
	elems, err := page.Elements(`.reds-tab-item`)
	if err != nil {
		return fmt.Errorf("未找到通知分区标签: %w", err)
	}

	for _, elem := range elems {
		text, err := elem.Text()
		if err != nil || strings.TrimSpace(text) != label {
			continue
		}
		humanize.Delay(ctx, humanize.BeforeClick)
		if err := humanize.Click(elem); err != nil {
			return fmt.Errorf("切换到分区 %s 失败: %w", label, err)
		}
		humanize.Delay(ctx, humanize.AfterClick)
		return nil
	}
	return fmt.Errorf("未找到分区标签 %q", label)
}

// loadUntil 滚动加载,直到条目数够用或没有更多。
func (n *NotificationAction) loadUntil(ctx context.Context, page *rod.Page, tab NotificationTab, limit int) error {
	const maxRounds = 20

	for range maxRounds {
		payload, err := n.readTab(page, tab)
		if err != nil {
			return err
		}
		loaded := len(payload.MessageList)
		if loaded >= limit || !payload.HasMore {
			return nil
		}

		if err := page.Mouse.Scroll(0, 800, 5); err != nil {
			return fmt.Errorf("滚动加载失败: %w", err)

View on GitHub (pinned to 332d196854)

Solutions

  1. 确认已进入通知页面
  2. 核对标签文案是否变化并更新 tabLabels
  3. 等待渲染后重试
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at xiaohongshu/notification.go:195 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of xpzouying/xiaohongshu-mcp@332d196854 (2026-09-05). Data as JSON: /api/errors/4ac89fce41d0cb57. Report an issue: GitHub.