Запустите сафари с расширением, используя safariDriver в селене
Я хочу запустить свой браузер с моими расширениями. В Chrome я могу использовать chromeOptions, как в примере кода ниже. Firefox работает аналогичным образом.
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
Однако в Safari нет addExtensions
метод. Как правильно сделать это с Safari?
4 ответа
Это может помочь. https://github.com/SeleniumHQ/selenium/wiki/SafariDriver
Я обнаружил, что если вы хотите открыть другое расширение Safari внутри Safari, вы должны сделать это из самого браузера Safari. https://github.com/SeleniumHQ/selenium/wiki/SafariDriver-Internals
Итак, в основном:
- Зарегистрируйтесь в Apple (бесплатно) Safari Developer Program и создайте подписанный сертификат для расширения.
- Создайте расширение SafariDriver:
$ ./go safari
- Установите расширение:
- Запустить Safari
- Включить меню "Разработка" ("Настройки"> "Дополнительно"> "Показать меню" Разработка "" в строке меню)
- Откройте построитель расширений (Разработка> Показать построитель расширений)
- Добавить новое расширение:
$SELENIUM_CLIENT/build/javascript/safari-driver/SafariDriver.safariextension
- Нажмите Установить
Какую версию Selenium вы используете? Похоже, они добавили safariOptions.addExtensions("..");
в июне 2013 года.
SafariOptions options = new SafariOptions();
options.addExtensions(new File("path/to/extension.safariextz"));
WebDriver driver = new SafariDriver(options);
Поддерживаемая Apple реализация Safaridriver не поддерживает настройку расширений с помощью возможностей WebDriver или других автоматизированных средств. Если вы считаете, что это важная функция, которую стоит выполнить, отправьте запрос на улучшение по адресу https://bugreport.apple.com/ с более подробной информацией о вашем случае использования.
SafariDriver - это класс в пакете org.openqa.selenium.safari, используемый для доступа к браузеру Safari.
WebDriver driver = new SafariDriver();
driver.get("https://stackru.com");