13

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

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

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

4

4 回答 4

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. 打开扩展生成器(开发 > 显示扩展生成器)
  7. 添加一个新的扩展:$SELENIUM_CLIENT/build/javascript/safari-driver/SafariDriver.safariextension
  8. 点击安装
于 2017-08-16T15:07:50.810 回答
0

Apple 维护的 safaridriver 实现不支持通过 WebDriver 功能或其他自动化方式配置扩展。如果您认为这是一个值得做的重要功能,请在https://bugreport.apple.com/提交增强请求,并提供有关您的用例的更多详细信息。

于 2017-08-10T18:34:55.803 回答
0

您使用的是哪个版本的 Selenium?看起来他们是在 2013safariOptions.addExtensions("..");6 月添加的。

SafariOptions options = new SafariOptions();
options.addExtensions(new File("path/to/extension.safariextz"));
WebDriver driver = new SafariDriver(options);
于 2017-07-26T15:05:07.410 回答
-2

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

WebDriver driver = new SafariDriver();
driver.get("https://stackoverflow.com");
于 2017-08-08T17:57:20.923 回答