2014-11-05 69 views
1

我正在尝试解决一些SafariDriver/Selenium的bug。以编程方式在Safari 8上安装扩展OSX 10.10

这里的问题是:

在Safari上7和波纹管,在所有你要做的就是把延伸到〜/库/ Safari浏览器/扩展安装新插件。接下来,您需要做的就是通过将插件添加到〜/ Library/Safari/Extensions/Extensions.plist来激活该插件,之后Safari将安装该插件。

从10.10开始,这已不再可行。扩展的位置是相同的,但我不知道如何激活扩展,因为Extensions.plist不再存在。

我的理解是,有一些文件通过登录时的钥匙串中的“Safari扩展列表”密码进行控制,但我不知道这可能适用于哪个文件。

如果我手工编译并安装扩展,一切正常,但最新插件的自动安装被破坏。 (文档此https://code.google.com/p/selenium/wiki/SafariDriverInternals

+0

在这里要小心,你正在相当自由地混合术语扩展和插件。他们不一样... – uchuugaka 2015-03-16 09:27:03

回答

2

“Safari扩展列表”密码不密码居然但~/Library/Safari/Extensions/Extensions.plist

读它,修改它,把它写回二进制的plist相同。

0

正确的做法是让用户通过手动打开它来安装扩展(双击或命令o)。这就是Apple试图让你去做的事情。 苹果从来没有真正想要任何人与其他应用程序的plists搞乱。

无论如何,大多数偏好设置缓存在内存中,并且需要新的登录会话才能将它们吹走并获取新副本。 plists更新结束会议或有问题的应用程序。

他们从来没有打算作为一种手段来修改其他应用程序的行为。这是一个安全风险。

就硒而言,其目的显然是创建一个自动测试环境。设置一个不错的安装程序会在某种程度上阻止它。

正确的做法是向Apple提交一个错误,让他们知道您在Safari中需要哪种功能。