xpzouying/xiaohongshu-mcp · error

发布 TAB %s 一直被浮层遮挡,Esc 与点击空白都未能关闭

Error message

发布 TAB %s 一直被浮层遮挡,Esc 与点击空白都未能关闭

What it means

mustClickPublishTab 重试循环结束后的失败区分分支:发布 TAB 元素能找到且至少一次被判定被浮层遮挡,尝试 Esc 和点击空白(dismissPopCover)都关不掉弹层,导致 TAB 无法点击。与「根本找不到 TAB」是另一种情况。

Source

Thrown at xiaohongshu/publish.go:184

			blockedAtLeastOnce = true
			logrus.Info("发布 TAB 被遮挡,尝试关闭浮层")
			dismissPopCover(page)
			time.Sleep(200 * time.Millisecond)
			continue
		}

		if err := humanize.Click(tab); err != nil {
			logrus.Warnf("点击发布 TAB 失败: %v", err)
			time.Sleep(200 * time.Millisecond)
			continue
		}

		return nil
	}

	// 区分两种失败:找不到 TAB,和找到了但浮层一直关不掉
	if blockedAtLeastOnce {
		return errors.Errorf("发布 TAB %s 一直被浮层遮挡,Esc 与点击空白都未能关闭", tabname)
	}
	return errors.Errorf("没有找到发布 TAB - %s", tabname)
}

func getTabElement(page *rod.Page, tabname string) (*rod.Element, bool, error) {
	elems, err := page.Elements("div.creator-tab")
	if err != nil {
		return nil, false, err
	}

	for _, elem := range elems {
		if !isElementVisible(elem) {
			continue
		}

		text, err := elem.Text()
		if err != nil {
			logrus.Debugf("获取发布 TAB 文本失败: %v", err)

View on GitHub (pinned to 332d196854)

Solutions

  1. 人工检查页面上是什么弹层(活动/引导/风控)
  2. 升级 dismissPopCover 覆盖更多弹层类型
  3. 重试整个进入发布页流程
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at xiaohongshu/publish.go:184 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/5f52e11151f43104. Report an issue: GitHub.