Google Chrome Portable выдает ошибку: «Неизвестная политика: MediaCacheSize» - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время я пытаюсь использовать портативные браузеры с Selenium, если у пользователя не установлен браузер.

Для инициализации Chrome WebDriver я использую следующий код ( сокращенный ):

System.setProperty("webdriver.chrome.driver", "path/to/webdriver.exe");

ChromeOptions driverOptions = new ChromeOptions();

driverOptions.setExperimentalOption("useAutomationExtension", false);
driverOptions.addArguments("--no-sandbox");

driverOptions.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);
driverOptions.setCapability(CapabilityType.UNHANDLED_PROMPT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);

driverOptions.setBinary("path/to/portableBrowser.exe");

driver = new ChromeDriver(driverOptions);
driver.get("https://www.example.org");

Портативный браузер, который я использовал, можно найти здесь .

Теперь, когда я запускал тест, появилось окно cmd со следующимсообщение об ошибке:

[13652:11260:1107/122218.579:ERROR:configuration_policy_handler_list.cc(90)] Unknown policy: MediaCacheSize
[13652:11260:1107/122218.748:ERROR:configuration_policy_handler_list.cc(90)] Unknown policy: MediaCacheSize```

Я проверил политику портативного браузера на chrome://policy и нашел следующий вывод (переводы красного цвета): Click me

Затем я добавил еще один аргумент в driverOptions:

driverOptions.addArguments("--media-cache-size=someValue");

Просто для целей тестирования я использовал существующий профиль пользователя из установленного Chrome вместо временного. Но это тоже не сработало:

driverOptions.addArguments("--user-data-dir=C:/Users/username/AppData/Local/Google/Chrome/User Data");

Насколько я знаю, эти политики хранятся в реестре или как переменные среды, но так как портативный браузер должен работать в любой системе из коробки, яне могу изменить его.

Мой вопрос: Каким будет обходной путь или (еще лучше) возможное решение вместо обходного пути?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...