2014-11-05 75 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中需要哪種功能。