Merge pull request #430 from prehisle/fix/publish-tag-popup-stuck

fix: avoid tag popup blocking after content input
This commit is contained in:
zy
2026-03-01 01:19:48 +08:00
committed by GitHub
2 changed files with 17 additions and 0 deletions

View File

@@ -295,6 +295,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
}
@@ -341,6 +344,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`)

View File

@@ -150,6 +150,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
}