xpzouying/xiaohongshu-mcp · error

未找到通知分区标签: %w

Error message

未找到通知分区标签: %w

What it means

switchTab 查找通知分区标签时 page.Elements('.reds-tab-item') 直接报错:页面未加载出通知页 DOM、选择器查询超时,或页面结构变化。注意这与「找到元素但文本不匹配」的另一个分支不同。

Source

Thrown at xiaohongshu/notification.go:180

	payload, err := n.readTab(page, tab)
	if err != nil {
		return nil, err
	}

	items, filtered := convertNotifications(payload.MessageList, limit)
	return &NotificationList{Tab: tab, Filtered: filtered, Items: items}, nil
}

// switchTab 切到目标分区。「评论和@」是默认分区,无需点击。
func (n *NotificationAction) switchTab(ctx context.Context, page *rod.Page, tab NotificationTab) error {
	if tab == TabMentions {
		return nil
	}

	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 滚动加载,直到条目数够用或没有更多。

View on GitHub (pinned to 332d196854)

Solutions

  1. 等待页面加载完成后重试
  2. 确认当前在通知页面
  3. 核对 .reds-tab-item 选择器是否仍有效
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at xiaohongshu/notification.go:180 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/94c8a521452fd68d. Report an issue: GitHub.