From 430046d6c682953fbc2c0eb790510ab2f9fc0e65 Mon Sep 17 00:00:00 2001 From: Mag1cFall Date: Tue, 10 Nov 2026 18:09:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=B3=E9=97=AD=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E7=9A=84=E5=AE=98=E7=BD=91=E6=AC=A2=E8=BF=8E?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E3=80=81=E5=BC=95=E5=AF=BC=E6=B5=AE=E5=B1=82?= =?UTF-8?q?=E4=B8=8E=20Cookie=20=E5=91=8A=E7=9F=A5=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/camoufoxnative/generate.go | 2 +- internal/camoufoxnative/page.go | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/camoufoxnative/generate.go b/internal/camoufoxnative/generate.go index 0c95b422..61ca726c 100644 --- a/internal/camoufoxnative/generate.go +++ b/internal/camoufoxnative/generate.go @@ -339,7 +339,7 @@ func (worker *Worker) waitRunnable(ctx context.Context, tab *chatTab) error { if state.Enabled { return nil } - if len(state.Dialogs) > 0 { + if len(state.Dialogs) > 0 || state.Cover != "" { clicked, err := dismissKnownOverlays(ctx, worker.client, tab.contextID) if err != nil { return err diff --git a/internal/camoufoxnative/page.go b/internal/camoufoxnative/page.go index ffa105f9..cee1d9bf 100644 --- a/internal/camoufoxnative/page.go +++ b/internal/camoufoxnative/page.go @@ -222,12 +222,13 @@ func (client *bidiClient) pointer(ctx context.Context, contextID, selector, patt return true, err } -// dismissOverlaysExpression 关闭官网已知且可交互的启动弹层 +// dismissOverlaysExpression 关闭官网已知且可交互的启动弹层:G1 欢迎对话框、引导浏览浮层与 Cookie 提示条,提示条有拒绝按钮时拒绝,只有确认按钮时确认 const dismissOverlaysExpression = `(() => {` + pageDOMHelpers + ` const selectors = [ - 'ms-g1-welcome-dialog button[aria-label="Close dialog"]', - 'button[aria-label="Close guided tour"]', - '#glue-cookie-notification-bar-1 .glue-cookie-notification-bar__reject' + 'ms-g1-welcome-dialog button', + 'button.xap-tour-exit-button', + '#glue-cookie-notification-bar-1 .glue-cookie-notification-bar__reject', + '#glue-cookie-notification-bar-1:not(:has(.glue-cookie-notification-bar__reject)) .glue-cookie-notification-bar__accept' ]; let clicked = 0; for (const selector of selectors) {