c# - 使用 Puppeteer-sharp 捕捉 A2HS 对话
问题描述
我想做一个无头 PWA 安装。
使用 Puppeteer-sharp,我能够单击内容中的 PWA 安装按钮以调出 A2HS 对话框。
我认为我可以使用“Dialog”类处理此对话框,因为 beforeinstallprompt 对象正在使用 prompt() 显示它,但我不能。
如何捕捉 A2HS 对话框?
[A2HS 对话框]
https://developers.google.com/web/updates/images/2018/06/a2hs-dialog-cropped.png
这是我的代码。(它可以捕获 window.prompt() 和 window.confirm()。)
using (var browser = await Puppeteer.LaunchAsync(options))
using (var page = await browser.NewPageAsync())
{
await page.GoToAsync("...");
page.Dialog += new EventHandler<DialogEventArgs>(async (sender, args) => {
// for test
var alertMessage = args.Dialog.Message;
Debug.WriteLine("*** {}", alertMessage);
await args.Dialog.Dismiss();
});
var btnSelector = "#pwa_install_button";
await page.WaitForSelectorAsync(btnSelector);
await page.ClickAsync(btnSelector);
...
}
解决方案
推荐阅读
- python - 如何修剪非特定字符直到一个特定字符?
- python - 具有额外自定义损失函数的 GAN
- join - Apache Flink 连接与加入
- xml - Wireshark - 在有效负载中重新组装带有大型 XML 的 TCP 流(多个 TCP 数据包)
- codenameone - 如何避免“缓冲”输入动作?
- node.js - 修复 nodejs 和 mongodb 中的 retryWrites=false
- php - 如何获取范围列表中带有数字的数组的键名?
- android - MvvmCross 6.2.0 顶级当前活动
- python - Predict_generator 为所有图像提供相同的输出值(CNN-回归)
- elasticsearch - Logstash 错误 | 伐木工人协议错误