Расширения, установленные в браузере chrome, отсутствуют при открытии экземпляра браузера chrome с помощью Selenium chromDriver

У меня здесь особой проблемы. Когда я открываю chromeBrowser через chromeDriver, расширения, которые были ранее установлены, отсутствуют.Также расширение apps удаляется из папки extensions (AppDataLocalGoogleChromeUser DataDefaultExtensions).

теперь, когда я открываю браузер chrome вручную, расширение появляется в браузере, а также папка apps в папке extensions (AppDataLocalGoogleChromeUser DataDefaultExtensions) не появляется w спина.

Ниже приведена версия chromedriver & browser. версия chromedriver: 26.0.1383.0 chromebrowser : 26.0.1410.64

пожалуйста, помогите в этом.

4 ответов


вы должны установить каждое расширение, которое вы хотите использовать. В Selenium2 C# API это выглядит так

var options = new ChromeOptions();
options.AddExtension(Path.GetFullPath("local/path/to/extension.crx"));
var driver = new ChromeDriver(options);

и расширение будет в браузере. Ссылка для java можно найти здесь. См.этот вопрос для получении .crx-файл для вашего расширения из магазина chrome.


этот ответ можно найти здесь https://sites.google.com/a/chromium.org/chromedriver/extensions. Расширения Chrome могут быть упакованы или распакованы. Упакованные модули в один файл .расширение CRX будет. Распакованные расширения-это каталог, содержащий расширение, включая манифест.файл json.

чтобы упаковать распакованное расширение, используйте кнопку Pack в chrome: / / extensions или используйте Chrome: "chrome.exe --pack-extension=C:\path\to\unpacked\extension -- pack-extension-key=C:\myext.УГР." См. документы расширений для других способов сделать это, которые более удобны для автоматизации. Чтобы распаковать упакованное расширение, просто распакуйте файл (вам может потребоваться переименовать файл .crx to .zip для вашей утилиты zip, чтобы распознать его). Установка расширений через ChromeDriver

упакованные (.crx файл)

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

распаковывается (каталог)

ChromeOptions options = new ChromeOptions();
options.addArguments("load-extension=/path/to/extension");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

Если вы хотите, чтобы расширение было доступно во время тестирования, вам нужно запустить chrome с профилем, который определяет это расширение, или дать расширение как желаемое свойство webdriver. Обычно, когда вы запускаете chrome через webdriver, chrome каждый раз запускается со свежим профилем.

поэтому, если вы хотите загрузить расширение в тестовый chrome, сделайте следующее:

 DesiredCapabilities capabilities = DesiredCapabilities.chrome();
 capabilities.setCapability("chrome.switches", 
    Arrays.asList("--load-extension=/path/to/extension/directory"));
 WebDriver driver = new ChromeDriver(capabilities);

более подробную информацию об этом вопросе можно найти здесь


параметры ChromeOptions = новые ChromeOptions(); опции.AddAdditionalCapability ("excludeSwitches", новый объект [] {"disable-default-apps"});
IWebDriver drv = новый ChromeDriver (опции);

доступно из Привязок WebDriver .net 2.40 и далее.