【问题标题】:How to capture or listen to browser notifications?如何捕获或收听浏览器通知?
【发布时间】:2017-10-02 13:18:58
【问题描述】:

我想在 chrome 浏览器上收听 Google、facebook、whatsapp 等网站的传入通知。 我看到提到here 的hack 不再有效,因为webkitNotifications.createNotification 已被弃用。其中一些网站使用服务工作者,所以我想知道我是否可以使用像 ServiceWorkerRegistration.getNotifications()PushManagerServiceWorkerGlobalScope 甚至 Notification API 这样的 webAPI?我一直在阅读,找不到任何东西可以做到这一点。我也不介意黑客攻击。使用硒可以做任何事情吗?有可能吗?如果没有,我不会在上面浪费更多时间。 干杯!

注意:我正在寻找一种解决方案,让我可以收听其他网站上的通知,而不是我的。

【问题讨论】:

  • 什么通用目的?你想在一个地方收集你的通知吗?浏览器不允许您混淆页面中其他页面的上下文。也许扩展可以,但我不确定。
  • 我想收听来自 WhatsApp 的通知

标签: javascript google-chrome selenium-webdriver push-notification


【解决方案1】:

我需要完全相同的东西。我假设您正在寻找 Chrome 扩展程序或应用程序。我无法访问或拦截通过服务人员显示的通知(通常即使在浏览器关闭后也会显示)。但是在页面中使用通知 API 的用户可以使用您的对象版本简单地自定义通知,如:Event Listener for Web Notification

将它放在扩展的内容脚本中,并在页面加载到 Chrome 之前加载,并监听页面引发的每个事件。

【讨论】:

  • 太棒了!我实际上尝试过你之前的建议。但我无法让它在页面上下文中实际运行并在页面加载之前加载它。在这里,页面是 WhatsApp。您的回答实际上通过您引用的answer 的链接使我找到了解决方案。所以我只是nativifiedweb.whatsapp.com,现在我正在使用捕获桌面通知
  • contd...堆栈不允许我编辑评论...使用dbus-monitor "interface='org.freedesktop.Notifications'"
  • 我编写了一个扩展程序,它可以捕获包含所有所需数据的通知事件,并有另一个 Chrome 应用程序可以监听消息。扩展程序使用消息 API 将数据传送到应用程序,它写入文件,因为扩展程序不允许自动写入文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 2013-08-28
  • 2020-03-24
相关资源
最近更新 更多