From 36ca181c8b0537fdaacf53f58ed8e49ce85f9674 Mon Sep 17 00:00:00 2001 From: prehisle Date: Wed, 18 Feb 2026 23:15:26 +0800 Subject: [PATCH] fix: avoid tag popup blocking after content input --- xiaohongshu/publish.go | 14 ++++++++++++++ xiaohongshu/publish_video.go | 3 +++ 2 files changed, 17 insertions(+) diff --git a/xiaohongshu/publish.go b/xiaohongshu/publish.go index 8f6b20e..1d4ae9e 100644 --- a/xiaohongshu/publish.go +++ b/xiaohongshu/publish.go @@ -293,6 +293,9 @@ func submitPublish(page *rod.Page, title, content string, tags []string, schedul if err := contentElem.Input(content); err != nil { return errors.Wrap(err, "输入正文失败") } + if err := waitAndClickTitleInput(titleElem); err != nil { + return err + } if err := inputTags(contentElem, tags); err != nil { return err } @@ -325,6 +328,17 @@ func submitPublish(page *rod.Page, title, content string, tags []string, schedul return nil } +// waitAndClickTitleInput 在填写正文后等待 1 秒并回点标题输入框,增强后续交互稳定性 +func waitAndClickTitleInput(titleElem *rod.Element) error { + slog.Info("正文填写完成,准备等待后回点标题输入框") + time.Sleep(1 * time.Second) + if err := titleElem.Click(proto.InputMouseButtonLeft, 1); err != nil { + return errors.Wrap(err, "回点标题输入框失败") + } + slog.Info("已回点标题输入框,继续后续发布流程") + return nil +} + // 检查标题是否超过最大长度 func checkTitleMaxLength(page *rod.Page) error { has, elem, err := page.Has(`div.title-container div.max_suffix`) diff --git a/xiaohongshu/publish_video.go b/xiaohongshu/publish_video.go index 5ea7263..403665e 100644 --- a/xiaohongshu/publish_video.go +++ b/xiaohongshu/publish_video.go @@ -149,6 +149,9 @@ func submitPublishVideo(page *rod.Page, title, content string, tags []string, sc if err := contentElem.Input(content); err != nil { return errors.Wrap(err, "输入正文失败") } + if err := waitAndClickTitleInput(titleElem); err != nil { + return err + } if err := inputTags(contentElem, tags); err != nil { return err }