Firefox аутентифицирует прокси с помощью веб-запроса

Я пытаюсь запустить тест Selenium с Firefox с частным прокси. У меня проблема с аутентификацией прокси. Без режима headless я могу аутентифицировать прокси с помощью Robot в Java. Теперь я хочу запустить в Firefox режим headless. Я ссылаюсь на https://stackoverflow.com/questions/55522874/how-to-handle-proxy-authentication-in-firefox-with-self-created-extension-using, но это не работает для меня.

Мой код:

background.js :

var config = {
    mode: "fixed_servers",
    rules: {
      singleProxy: {
        scheme: "http",
        host: "xx.xx.xx.xx",
        port: parseInt("xxxxx")
      },
      bypassList: []
    }
  };

firefox.proxy.settings.set({value: config, scope: "regular"}, function() {});

function callbackFn(details) {
return {
    authCredentials: {
        username: "xxxxx",
        password: "xxxxx"
    }
};
}

firefox.webRequest.onAuthRequired.addListener(
        callbackFn,
        {urls: ["<all_urls>"]},
        ['blocking']
);

manifest.json :

{
  "version": "1.0.0",
  "manifest_version": 2,
  "name": "Firefox Proxy | (Proxy Connector)",
  "permissions": [
    "proxy",
    "tabs",
    "unlimitedStorage",
    "storage",
    "<all_urls>",
    "webRequest",
    "webRequestBlocking"
  ],
  "background": {
    "scripts": ["background.js"]
  }
}

Я создаю расширение папки с 2 файлами выше. После этого я заархивировал и переименовал в extension.xpi

загрузить в Java:

        System.setProperty("webdriver.gecko.driver", path);
        File extension = new File("./extension.xpi");
        FirefoxProfile profile = new FirefoxProfile();
        profile.addExtension(extension);
        profile.setPreference("extensions.firebug.onByDefault", true);
        profile.setPreference("xpinstall.signatures.required", false);
        FirefoxOptions options = new FirefoxOptions();
        options.setBinary(new FirefoxBinary());
        options.setProfile(profile);
        WebDriver driver = new FirefoxDriver(options);

Кажется, произошла ошибка с файлом расширения.


person Du Tran    schedule 29.10.2020    source источник