Démarrer safari avec extension en utilisant safariDriver dans le sélénium

je veux commencer mon navigateur avec mes extensions. Dans chrome, je peux utiliser les chromeOptions comme dans l'exemple de code ci-dessous. Firefox fonctionne de manière similaire.

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));

Cependant en Safari Il n'y a pas de addExtensions méthode. Quelle est la bonne façon de le faire avec Safari?

13
demandé sur mosaad 2017-05-22 17:19:38

4 réponses

cela pourrait aider. https://github.com/SeleniumHQ/selenium/wiki/SafariDriver

j'ai trouvé que si vous voulez ouvrir une autre extension safari à l'intérieur de safari, vous devez le faire à partir du navigateur safari lui-même. https://github.com/SeleniumHQ/selenium/wiki/SafariDriver-Internals#building-the-safaridriver

Donc en gros:

  1. inscrivez-vous au programme Safari Developer D'Apple (gratuit) et créez un certificat signé pour extension.
  2. construisez L'extension SafariDriver:$ ./go safari
  3. installez l'extension:
  4. Lancez Safari
  5. activer le menu Develop (Préférences > Avancé > afficher le menu Develop dans le menu bar)
  6. Ouvrir l'Extension Builder (Développer > Afficher l'Extension Builder)
  7. Ajouter une nouvelle extension: $SELENIUM_CLIENT/build/javascript/safari-driver/SafariDriver.safariextension
  8. Cliquez Sur Installer
1
répondu jakob 2017-08-16 20:48:05

quelle version du sélénium utilisez-vous? On dirait qu'ils ajouté safariOptions.addExtensions("..");juin 2013.

SafariOptions options = new SafariOptions();
options.addExtensions(new File("path/to/extension.safariextz"));
WebDriver driver = new SafariDriver(options);
0
répondu TitusLucretius 2017-07-26 15:05:07

l'implémentation safaridriver gérée par Apple ne prend pas en charge la configuration d'extensions via des fonctionnalités WebDriver ou d'autres moyens automatisés. Si vous estimez qu'il s'agit d'une fonction importante qui mérite d'être exécutée, veuillez déposer une demande d'amélioration à https://bugreport.apple.com/ avec plus de détails sur votre cas d'utilisation.

0
répondu Brian Burg 2017-08-10 18:34:55

SafariDriver est une classe de l' org.openqa.nium.safari le paquet est utilisé pour accéder au navigateur safari

WebDriver driver = new SafariDriver();
driver.get("https://stackoverflow.com");
-1
répondu iamsankalp89 2017-08-08 17:57:20