google-chrome - Chromedp : handle alert

标签 google-chrome go web-scraping

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

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

我正在使用

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

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

最佳答案

在任务中,使用 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!
        }
    })

}

关于google-chrome - Chromedp : handle alert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085607/

相关文章:

r - 在 R rvest 中对 url 和 html 节点进行网络抓取循环

css - Webkit 浏览器呈现的 CSS 与 Mozilla Firefox 不同......为什么?

javascript - svg 元素在 Chrome 中隐藏/显示时重置

javascript - 如何检查打开的跨域窗口是否准备好接收postmessage?

unix - syscall.Stat_t.Dev 映射到什么?

javascript - scrapy抓取的数据包含javascript

javascript - 为什么 window.navigator.storage.estimate() 有时在 Chrome 上未定义

go - 从标准输入读取行直到某个字符

go - Go语言有函数/方法重载吗?

html - 来自 10-K EDGAR 的网页抓取风险因素