【问题标题】:Chrome Browser and Java Message PassingChrome 浏览器和 Java 消息传递
【发布时间】:2013-12-27 18:13:43
【问题描述】:

我开发了一个 Chrome 扩展程序,它可以捕获网页中的一些数据。 我的最终目标是将这个最终结果传递给我的 Java 应用程序。 我脑子里有几个选项,但我还没有找到任何资源。

  1. 从外部访问localStorage

  2. 通过 Java 应用运行 Chrome 浏览器,所以我想我们可以控制它的数据。

  3. 如果未找到 API,则将结果写入文件并从 Java 应用程序。

是否有任何 API 可以实现前两个选项中的任何一个?还是文件系统以外的其他接口?

我检查了berkeliumChromium Embedded Framework。但它们只是 chrome 包装器,我们不能从中运行 chrome 实例。

编辑

对于第二个选项,我尝试使用 Selenium Webdriver,但我认为它没有任何方法可以访问 localStorage。

【问题讨论】:

    标签: java api google-chrome google-chrome-extension


    【解决方案1】:

    是否有限制阻止您使用 Java 应用程序公开 REST API?

    【讨论】:

    • 我相信 OP 指的是桌面 Java 应用程序(不是基于 JavaEE 的网络应用程序)。
    • 感谢您的回复。是的,这是一个 Java 桌面应用程序
    • 是的,但我只会导入HttpServer,打开一个端口并将数据从我的扩展发送到localhost:<port>。这似乎是对我来说阻力最小的路径。
    【解决方案2】:

    听起来您正在寻找 Native Messaging,它允许 Chrome 扩展程序和本机应用程序(例如 Java 桌面应用程序)之间进行通信。

    这里有很多关于本机消息传递实施的问题,还有 "official" example


    我建议使用上述解决方案,但如果您的应用程序将与扩展程序进行大量交互(并且您感觉像是逆向工程),那么可以使用开源 **[NetBeans 连接器 Chrome 扩展程序][3]**,它使用不同的方法(套接字或 WebSockets - 我不确定)。 查看 **[this answer][4]** 以获取有关如何获取来源的信息。

    【讨论】:

    • Native Messaging 100% 符合我的要求 :-) 非常感谢!
    猜你喜欢
    • 2011-11-20
    • 2023-04-01
    • 2019-05-17
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多