1

我正在尝试修复 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的文档)

4

2 回答 2

2

“Safari Extensions List”密码实际上不是密码,而是一个二进制plist~/Library/Safari/Extensions/Extensions.plist

阅读,修改,写回。

于 2014-11-07T11:14:14.750 回答
0

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

无论如何,大多数首选项 plist 都缓存在内存中,并且需要新的登录会话才能将它们吹走并获取新副本。plist 在结束会话或相关应用程序时更新。

它们从未打算作为修改另一个应用程序行为的手段。这是一个安全风险。

以 Selenium 为例,其目的显然是创建一个自动化测试环境。设置一个好的安装程序在一定程度上会先发制人。

正确的做法是向 Apple 提交错误,让他们知道您在 Safari 中需要什么样的功能。

于 2015-03-16T09:26:20.940 回答