Добавляем распакованное расширение из файла Selenium node.js

Я хотел бы знать, как я могу добавить распакованное расширение, которое у меня есть на моем компьютере, к моему веб-драйверу Chrome, используя это: https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/chrome_exports_Options.html#addExtensions Я действительно не понимаю, что я должен с этим делать. Заранее спасибо всем, кто мне поможет =) PS: я использую эти пакеты узлов: selenium-webdriver, fs


person Zayonx    schedule 05.07.2018    source источник


Ответы (2)


Вы можете сделать так:

let chrome = require("selenium-webdriver/chrome");
let options = new chrome.Options();
options.addExtensions("/path/to/extension.crx")
let driver = new webdriver.Builder()
    .forBrowser('chrome')
    .setChromeOptions(options)
    .build();
person Andrei Suvorkov    schedule 05.07.2018
comment
В вашем примере показано, как добавить упакованное расширение (файл .crx). Это работает для распакованного расширения, как задается вопрос? - person augurar; 14.05.2021

import {Builder, Capabilities} from 'selenium-webdriver';
import {Options, ServiceBuilder, setDefaultService} from 'selenium-webdriver/chrome';
import * as chromedriver from 'chromedriver';
import * as path from 'path';
import * as fs from 'fs';

const encodeExt = file => {
  const stream = fs.readFileSync(path.resolve(file));
  return Buffer.from(stream).toString('base64');
};

const service = new ServiceBuilder(chromedriver.path).build();
setDefaultService(service);

const driver = new Builder()
  .withCapabilities(Capabilities.chrome())
  .setChromeOptions(new Options()
    .addExtensions(encodeExt('./3.5.2_0.crx')))        <-----+
  .build();                                                  |
                                                             |
                                                             |
                  this line here! ----------------------------

Вот как загрузить файл .crx: https://www.maketecheasier.com/download-save-chrome-extension/

person Moshe Quantz    schedule 11.05.2019