Ответ 1
Каждый раз, когда вы запускаете селен, загружается свежий профиль, поэтому изменения, внесенные вами в предпочтения, и разрешения веб-сайта не сохраняются между сеансами. Чтобы исправить это, нам нужно сообщить селену, какой профиль загрузить.
Шаг 1. Найдите свой файл настроек Chrome: www.forensicswiki.org/wiki/Google_Chrome#Configuration
Шаг 2. Скопируйте папку Default
где-нибудь. Предположим, что он скопирован на /some/path/allow-mic/Default
.
Альтернативный шаг 3 (это проще):
Перед копированием Default
посетите localhost:1337
с помощью Chrome и установите микрофон, чтобы он всегда позволял.
Шаг 3. Измените allow-mic/Default/Preferences
, найдите теги "profile"
, "content_settings"
и "exceptions"
внутри друг друга и добавьте
"media_stream_mic":{"http://localhost:1337,*":
{"last_used":1470931206,
"setting":1} },
до "exceptions"
. Вы должны получить что-то вроде:
...
"profile":{
...
"content_settings": {
...
"exceptions": {
...
"media_stream_mic":{"http://localhost:1337,*":
{"last_used":1470931206,
"setting":1} },
...
},
},
},
...
Шаг 4:
Настройте selenium
для использования отредактированных настроек:
var chromedriver = require('chromedriver');
var Webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var opts = new chrome.Options();
opts.addArguments("user-data-dir=/some/path/allow-camera");
var driver = new chrome.Driver(opts);
Вы можете проверить, что правильный набор настроек (путь профиля) используется, открыв chrome://version/
.