From d9a277522f87d40b349190c6f6977ecb61a86d69 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Wed, 23 Jul 2025 15:18:41 +0200 Subject: [PATCH 1/3] Dismiss alert lead to take screenshot on classical page with alert the browser fall un timeout beacause alert block loading. This pr lead to close alert and take screen --- runner/headless.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runner/headless.go b/runner/headless.go index 6c56b73..66b28a0 100644 --- a/runner/headless.go +++ b/runner/headless.go @@ -104,6 +104,11 @@ func (b *Browser) ScreenshotWithBody(url string, timeout time.Duration, idle tim if err != nil { return nil, "", err } + w, h := page.MustHandleDialog() + go func() { + w() + h(true, "") + }() for _, header := range headers { headerParts := strings.SplitN(header, ":", 2) if len(headerParts) != 2 { From d6e95e144c22710ee1a5772997badf5b398a0cd1 Mon Sep 17 00:00:00 2001 From: Serizao <11671895+Serizao@users.noreply.github.com> Date: Wed, 23 Jul 2025 19:32:33 +0200 Subject: [PATCH 2/3] Update headless.go --- runner/headless.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/runner/headless.go b/runner/headless.go index 66b28a0..51a24f2 100644 --- a/runner/headless.go +++ b/runner/headless.go @@ -104,10 +104,13 @@ func (b *Browser) ScreenshotWithBody(url string, timeout time.Duration, idle tim if err != nil { return nil, "", err } - w, h := page.MustHandleDialog() + wait, handle := page.HandleDialog() go func() { - w() - h(true, "") + wait() + handle(&proto.PageHandleJavaScriptDialog{ + Accept: true, + PromptText: "", + }) }() for _, header := range headers { headerParts := strings.SplitN(header, ":", 2) From ad8307007482e339e00f825a4f8f4652957953ba Mon Sep 17 00:00:00 2001 From: Mzack9999 Date: Fri, 12 Sep 2025 14:29:06 +0200 Subject: [PATCH 3/3] better handling --- runner/headless.go | 12 ++++++------ runner/runner.go | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/runner/headless.go b/runner/headless.go index b988583..378db66 100644 --- a/runner/headless.go +++ b/runner/headless.go @@ -104,14 +104,14 @@ func (b *Browser) ScreenshotWithBody(url string, timeout time.Duration, idle tim if err != nil { return nil, "", err } - wait, handle := page.HandleDialog() - go func() { - wait() - handle(&proto.PageHandleJavaScriptDialog{ + + go page.EachEvent(func(e *proto.PageJavascriptDialogOpening) { + _ = proto.PageHandleJavaScriptDialog{ Accept: true, PromptText: "", - }) - }() + }.Call(page) + })() + for _, header := range headers { headerParts := strings.SplitN(header, ":", 2) if len(headerParts) != 2 { diff --git a/runner/runner.go b/runner/runner.go index 1537a44..f295707 100644 --- a/runner/runner.go +++ b/runner/runner.go @@ -713,7 +713,6 @@ func makePrintCallback() func(stats clistats.StatisticsClient) interface{} { builder.WriteString(clistats.String(totalHosts)) builder.WriteRune(' ') builder.WriteRune('(') - //nolint:gomnd // this is not a magic number builder.WriteString(clistats.String(uint64(float64(hosts) / float64(totalHosts.(int)) * 100.0))) builder.WriteRune('%') builder.WriteRune(')')