使用 Selenium 时 Google Chrome NativeMessaging 无法工作

问题描述 投票:0回答:1

当我使用添加的 Chrome 扩展 .crx 启动 Selenium 测试时,浏览器将打开并显示已安装的扩展。分机 ID 正确。但是,我总是收到“找不到本机消息主机”。

  • 使用过的版本:
OS: Ubuntu  22.04.4 LTS
Google Chrome (for testing) and chromedriver: 124.0
Selenium: 4.22.0
  • 当我在没有 selenium 的情况下打开浏览器时,NativeMessaging 正在工作
  • Java 代码如下所示:
ChromeOptions cOpt = new ChromeOptions();
cOpt.setBinary("/path/to/google-chrome-for-testing");
File extension = new File("/path/to/extension.crx");
cOpt.addExtensions(Arrays.asList(extension));
return new ChromeDriver(cOpt);
  • Native Messaging 主机文件位于

    ~/.config/google-chrome-for-testing/NativeMessagingHosts

  • .json 文件中的名称和 id 正确

对我来说,看起来像以 selenium 启动的浏览器正在寻找 NativeMessagingHosts 文件的另一个位置。

java google-chrome selenium-webdriver google-chrome-extension
1个回答
0
投票

因此,有帮助的是将 user-data-dir 设置为 google-chrome-for-testing 目录

cOpt.addArguments("--user-data-dir=/path/to/home/user/.config/google-chrome-for-testing")

因此每次都使用相同的配置文件。

© www.soinside.com 2019 - 2024. All rights reserved.