Selenium ChromeDriver,无法启动已加载扩展的 Google Chrome

hae*_*g87 0 selenium google-chrome-extension selenium-chromedriver selenium-webdriver

我正在使用 Selenium 2.0 为我的 Google Chrome 扩展创建自动化测试:

  1. WebdriverJS + NodeJS
  2. Chrome驱动程序
  3. MacOS X 10.8.4

首先,我也想测试安装过程,但是当使用 Selenium 弹出安装对话框时,似乎无法单击“添加”按钮。(我关于这个的另一个问题)。

现在,我改变了计划。我不想在测试过程中安装扩展程序,而是想在安装扩展程序的情况下启动 Chrome。但我还没有成功。

请看下面的代码:

var webdriver = require('selenium-webdriver'),
    chrome = require('selenium-webdriver/chrome');

var o = new chrome.Options();
o.addExtensions(['extensions/chrome/chrome_extension.zip']); // crx file is just a zip file
var s = new chrome.ServiceBuilder('bin/chromedriver').build();
var driver = chrome.createDriver(o, s)
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,出现以下错误: 在此输入图像描述

我注意到 ChromeDriver 在打开 Chrome 时会加载一个名为“Chrome Automation Extension 1”的 Chrome 扩展,因此必须有一种方法来加载另一个扩展,要么使用应用程序 ID 直接从 Webstore 加载,要么从本地计算机加载- 已包装或未包装。

任何帮助将不胜感激!

Rob*_*b W 5

确保“manifest.json”位于 zip 文件的根目录中。意外压缩扩展目录而不是扩展文件是一个常见错误。

使用zip

cd path/to/extension
zip -ur ../chrome_extension.zip *
Run Code Online (Sandbox Code Playgroud)

使用7-zip

cd path/to/extension
7z u -tzip ../chrome-extension.zip *
Run Code Online (Sandbox Code Playgroud)