Невозможно подтвердить подлинность URL с паролем, содержащим "@" в Selenium/ChromeDriver
Я пытаюсь открыть URL-адрес в ChromeDriver (для Chrome 75.0.3770.142) с аутентификацией, имеющей пароль, содержащий символ "@", решение добавления имени пользователя / пароля к URL-адресу, например: " https://username:p%40ssword@www.test.com/"и даже" https://username:p%40ssword@www.test.com/"не работали для меня (действительно, это работало ТОЛЬКО в ПЕРВЫЙ раз, а затем при всех последующих запусках браузера показывает всплывающее окно аутентификации и запрашивает учетные данные сеанса)
Затем я попытался добавить базовое расширение аутентификации в chrome с помощью zip-файла (credential.zip), содержащего:
manifest.json
{
"manifest_version": 2,
"name": "Authentication for Cartier PreProd",
"version": "1.0.0",
"permissions": ["<all_urls>", "webRequest", "webRequestBlocking"],
"background": {
"scripts": ["background.js"]
}
}
background.js
var username = "username";
var password = "p@ssword";
var retry = 3;
chrome.webRequest.onAuthRequired.addListener(
function handler(details) {
if (--retry < 0)
return {cancel: true};
return {authCredentials: {username: username, password: password}};
},
{urls: ["<all_urls>"]},
['blocking']
);
А в Selenium (3.141.59) я настроил remotedriver следующим образом:
DesiredCapabilities capability = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("disable-infobars");
options.addArguments("--start-maximized");
File file = new File("src/main/resources/conf/credential.zip");
options.addExtensions(file);
capability.setCapability(ChromeOptions.CAPABILITY, options);
capability.setBrowserName("chrome");
capability.setPlatform(Platform.WINDOWS);
URL nodeUrl = new URL(<host:port>);
WebDriver driver = new RemoteWebDriver(nodeUrl, capability);
При запуске WebDriver кажется, что он не может загрузить расширение, он выдает ошибку:
unknown error: failed to wait for extension background page to load: chrome-extension://knocbjhpojhilndiecljamdcccjifakk/_generated_background_page.html
У кого-нибудь есть идеи, как решить эту проблему? Заранее большое спасибо!