Selenium Firefox не добавляет расширения

Я пытаюсь установить ublock в Firefox с помощью Selenium. Проблема в том, что расширение не загружается. Браузер загружается нормально, но не добавляет расширение.

FirefoxProfile profile = new FirefoxProfile();
profile.AddExtension("ublock_origin-1.17.4-an+fx.xpi");
FirefoxOptions options = new FirefoxOptions
{
    Profile = profile
};
IWebDriver driver = new FirefoxDriver(options);

Я видел это, но я не хочу использовать старую версию firefox, и я не видел других исправлений для нее.

В настоящее время используется v0.23.0 geckodriver для win64.

Как я могу добавить расширения в firefox с помощью селена? (без использования старой версии)

Похоже, вы не указываете полный путь к своему расширению

SnR 13.01.2019 02:00

@SnR Пробовал и с полным путем, без изменений.

user5659664 13.01.2019 15:39

Какую версию selenium webdriver вы используете?

Prasanth G 28.01.2020 07:12

@PrasanthG Последняя версия, v3.141.0. Selenium webdriver не обновлялся 15 месяцев, а этому вопросу 12 месяцев.

user5659664 28.01.2020 08:40

Вы можете попробовать селен 4.x, который находится в альфа-стадии. Просто используйте класс FirefoxDriver, вызовите InstallAddOnFromFile и передайте путь к файлу вашего расширения. Он должен работать

Prasanth G 28.01.2020 08:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
5
1 181
2

Ответы 2

Попробуйте разделить часть параметров, посмотрите, имеет ли это значение:

FirefoxProfile profile = new FirefoxProfile();
profile.AddExtension(*file path*);
FirefoxOptions options = new FirefoxOptions();
options.Profile = profile;
IWebDriver driver = new FirefoxDriver(options);

Это буквально то же самое, что у меня, только упрощенное. Это не будет иметь никакого значения

user5659664 18.01.2019 09:55
FirefoxProfile profile = new FirefoxProfile();
FirefoxOptions options = new FirefoxOptions
{
    Profile = profile
};
IWebDriver driver = new FirefoxDriver(options);
firefoxDriver.InstallAddOnFromFile("ublock_origin-1.17.4-an+fx.xpi"); // Dear Wizard, this is the magic

Используйте Selenium 4.X и используйте метод FirefoxDriver.InstallAddOnFromFile вместо FirefoxOptions.AddExtension

Этого метода нет ни в версии 3, ни в 4.x?

Andre 04.06.2021 19:09

@Andre InstallAddOnFromFile - это метод FirefoxDriver в 4.0.0-rc-1. Код должен читаться как FirefoxDirver driver = new FirefoxDriver(options);.

user4851 08.09.2021 20:13

Другие вопросы по теме