我正在尝试修复SafariDriver / Selenium的几个错误。
问题在于:
在Safari 7和下面,要安装新插件,您只需将扩展名放入〜/ Library / Safari / Extensions即可。接下来,您需要做的就是通过将插件添加到〜/ Library / Safari / Extensions / Extensions.plist来激活插件,之后Safari将安装插件。
从10.10开始,这已经不可能了。扩展的位置是相同的,但我不知道如何激活扩展,因为Extensions.plist不再存在。
我的理解是有些文件是通过登录时的钥匙串中的“Safari Extensions List”密码控制的,但我不知道这可能适用于哪个文件。
如果我手动编译并安装扩展,一切正常,但最新插件的自动安装被破坏了。 (此https://code.google.com/p/selenium/wiki/SafariDriverInternals的文档)
答案 0 :(得分:2)
" Safari Extensions List"密码实际上不是密码,而是与~/Library/Safari/Extensions/Extensions.plist
阅读,修改,写回。
答案 1 :(得分:0)
正确的做法是让用户通过手动打开扩展程序来安装扩展程序(双击或命令o)。这就是Apple试图让你做的事情。 Apple从来没有真正想让任何人为其他应用程序搞乱。[/ p>
无论如何,大多数首选项plists都缓存在内存中,并且需要新的登录会话才能将它们吹走并获得新的副本。 plists会在结束会话或相关应用时更新。
它们从未打算作为修改其他应用行为的手段。这是一种安全风险。
在Selenium的案例中,目的显然是创建一个自动化的测试环境。设置一个漂亮的安装程序会在某种程度上抢占先机。
正确的做法是向Apple提交一个错误,让他们知道Safari中需要哪些功能。