我正在Mac 10上为Safari 8设置Selenium测试。我需要预先安装我们的Safari驱动程序,它需要静默发生,没有任何用户提示。
我还手动安装了safari驱动程序,我看到下面的文件会被更改:
安装后,〜/ Library / preference中的3个文件已被更改 安装完成后,〜/ Library / Safari文件中的7个文件已被更改 安装完成后,〜/ Library / Keychains文件中的login.keychain已被更改为
从之前的帖子中,我尝试过这些:
Silent install for Safari extension on Mac without any user prompting。 我发现这有效,因为它使用扩展名加载浏览器:
open -a Safari SafariDriver.safariextz<br>
但它会打开浏览器并提示用户:“你确定要安装扩展吗?”
然后我按照第一个答案尝试这样做:
“将扩展程序安装到~/Library/Safari/Extensions
并更新~/Library/Safari/Extensions/Extensions.plist
”。在这里,我将SafariDriver.safariextz
复制到此路径:~/Library/Safari/Extensions
。然后我在此路径Extensions.plist
中找不到~/Library/Safari/Extensions/
。我也找不到这些文件~/Library/preference/com.apple.Safari.plist
或com.apple.Safari.Extensions.plist
I am unable to install my extension to safari from commandline (OS X 10.5.8 Safari 5+)。我使用文章中的这个命令来尝试,仍然使用用户提示符:
sudo /Applications/Safari.app/Contents/MacOS/safari /tmp/my-product/my-extension.safariextz<br><br>
有人可以在这里回答我的问题并提供更多详细信息,提前感谢。
答案 0 :(得分:0)
我通过AppleScript意识到这一点。
1. applescript可以处理提示
告诉申请“Finder”
将f设置为POSIX文件“/usr/bin/SafariDriver.safariextz”
如果存在f则
无视申请回复
告诉应用程序“Safari”打开f
结束无视
告诉应用程序“系统事件”
告诉流程“Safari”
设置最前面的真实
重复直到(存在窗口1)和窗口1的子角色是“AXDialog” -
延迟1
结束重复
单击前窗的按钮1 - 安装
告诉你
告诉你
结束如果
告诉你
2,我试图复制相关文件,如手动安装文件将被修改,我的问题中提到。我可以在Safar-&gt; preferency-&gt; Extesions中看到驱动程序显示。但我没有测试它是否已正确安装。如果操作系统不同,我发现Extensions.plist将位于不同的文件夹中。
因为我试过两个:
1)。在Mac 10.9中,它将在文件下面修改:
〜/图书馆/优惠:
com.apple.safari.plist
com.apple.finder.plist
〜/库/ Safari浏览器:
扩展/ WebDriver.safariextz
扩展/ Extensions.plist
〜/库/钥匙链:
log.keychain
2)。在Mac 10.10中,它将在文件下面修改:
〜/图书馆/优惠:
com.apple.safari.plist
com.apple.finder.plist
com.apple.safari.Extension.plist
〜/库/ Safari浏览器:
扩展/ WebDriver.safariextz
〜/库/钥匙链:
log.keychain