使用selenium中的safariDriver启动扩展safari

时间:2017-05-22 14:19:39

标签: selenium selenium-webdriver safari safari-extension safaridriver

我想用扩展程序启动浏览器。在chrome中,我可以使用chromeOptions,如下面的代码示例所示。 Firefox以类似的方式工作。

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

然而,在Safari中没有addExtensions方法。使用Safari执行此操作的正确方法是什么?

4 个答案:

答案 0 :(得分:1)

这可能会有所帮助。 https://github.com/SeleniumHQ/selenium/wiki/SafariDriver

我发现如果你想在safari中打开另一个safari扩展,你必须从safari浏览器本身进行。 https://github.com/SeleniumHQ/selenium/wiki/SafariDriver-Internals#building-the-safaridriver

基本上是这样的:

  1. 注册Apple(免费)Safari开发者计划并生成一个 已签名的扩展证书。
  2. 构建SafariDriver扩展程序:$ ./go safari
  3. 安装扩展程序:
  4. 启动Safari
  5. 启用“开发”菜单(首选项>高级>菜单中的“显示开发”菜单 吧)
  6. 打开Extension Builder(开发>显示扩展构建器)
  7. 添加新扩展程序:$SELENIUM_CLIENT/build/javascript/safari-driver/SafariDriver.safariextension
  8. 点击安装

答案 1 :(得分:0)

您使用的是哪个版本的Selenium?看起来他们在June of 2013中添加了SafariOptions options = new SafariOptions(); options.addExtensions(new File("path/to/extension.safariextz")); WebDriver driver = new SafariDriver(options);

{{1}}

答案 2 :(得分:0)

Apple维护的safaridriver实现不支持通过WebDriver功能或其他自动方式配置扩展。如果您认为这是一项值得做的重要功能,请在https://bugreport.apple.com/提交一份增强请求,详细了解您的使用案例。

答案 3 :(得分:-1)

SafariDriver org.openqa.selenium.safari 包中的一个类,用于访问safari浏览器

WebDriver driver = new SafariDriver();
driver.get("https://stackoverflow.com");