首页 > 解决方案 > Chromedp:处理警报

问题描述

如何使用 chromedp 捕获网页上显示的警报框并获取其中的文本

我注意到当警报出现时,我可以看到 Page.javascriptDialogOpening 正在显示

我在用

cdp.EvaluateAsDevTools("Page.javascriptDialogOpening", res)

获取其中的文本,但它不起作用如何在 chromedp 中处理它?

标签: google-chromegoweb-scraping

解决方案


在任务中,使用 ListenTarget 并等到您出现 JS 对话框事件。

printMsg := chromedp.ActionFunc(func(ctx context.Context) error {


    chromedp.ListenTarget(lctx, func(ev interface{}) {

        if _, ok := ev.(*page.EventJavascriptDialogOpening); ok { // page loaded

            fmt.Printf(ev.(*page.EventJavascriptDialogOpening).Message) // holds msg!
        }
    })

}

推荐阅读