【问题标题】:Using native messaging within Selenium ChromeDriver?在 Selenium ChromeDriver 中使用本机消息传递?
【发布时间】:2018-05-30 19:15:46
【问题描述】:

我正在开发一个使用原生消息传递的 chrome 扩展程序。原生消息在我的个人 Chrome 副本上运行良好,但在通过 ChromeDriver 在 selenium 中使用扩展时,我会收到来自扩展的错误消息:

Error in event handler for runtime.onMessage: Error: Attempting to use a disconnected port object

我正在通过以下量角器配置加载扩展:

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        'args': [
            '--load-extension=./build/chrome'
        ]
    },
}

是否必须做一些特别的事情才能在 ChromeDriver 中启用本机消息?我尝试将我们的原生消息传递清单文件添加到 Chrome 和 Chromium 的全球位置,但仍然没有成功。

【问题讨论】:

  • 是否有相同的id?为确保这一点,请在 manifest.json 中添加 "key"
  • @wOxxOm 是的,我们已经在清单中有一个静态键。
  • @georgexsh 不幸的是没有。我们只好放弃在 Chrome 上的测试。至少在我们上次检查时,ChromeDriver 似乎根本不支持原生消息传递。
  • @georgexsh 刚刚验证了本机消息传递确实适用于使用 selenium 的 chrome 驱动程序。您是否收到与问题中相同的错误消息?
  • @RiwazPoudyal 是的,它确实有效,好消息!前几天我一定做错了什么。

标签: google-chrome selenium google-chrome-extension selenium-chromedriver chrome-native-messaging


【解决方案1】:

截至 2018.11,使用 Chrome 70 和 chromedriver 2.43,本机消息传递运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多