google-chrome - Chromedp:处理警报
问题描述
如何使用 chromedp 捕获网页上显示的警报框并获取其中的文本
我注意到当警报出现时,我可以看到 Page.javascriptDialogOpening 正在显示
我在用
cdp.EvaluateAsDevTools("Page.javascriptDialogOpening", res)
获取其中的文本,但它不起作用如何在 chromedp 中处理它?
解决方案
在任务中,使用 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!
}
})
}
推荐阅读
- css - 如何实现移动分屏,但宽度是屏幕尺寸的两倍?
- azure-data-factory - Azure 数据工厂日期转换
- html - 如何检查 IE 网页中是否存在 div 类/TR/TD 类下的文本?
- android - 使用 Intent 从 3rd 方应用程序获取数据
- java - 如何解决 Eclipse 中的导入问题?
- r - 在 R 中安装开发版 ggmap 库的问题
- spring - 如何为返回 PDF 文件的 Spring Boot 测试用例设置内容类型
- spring - 使用 oauth2 在 Spring Security 中使用 jwt 令牌时访问被拒绝
- api - 空手道包含且所有键值不匹配错误
- python - Pandas .ix 来自 Pandas 的数据分析示例,重写