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