3

如何配置 Selenium 以在私有模式下驱动 Safari?(我正在使用 Ruby 界面)。

就上下文而言,这就是为什么在 Safari 的私有模式下运行测试很重要的原因:尝试写入本地存储将在 Safari 的私有模式下引发错误。因此,我想要验证我的代码在私有模式下避免写入本地存储的自动化测试。(而且,也许更重要的是,将来的错误会引起开发人员的注意

4

1 回答 1

3

让我们在这里看看隐私浏览的定义:https: //support.apple.com/kb/PH19216?locale=en_US

当您使用无痕浏览窗口时,Safari 不会保存您的浏览历史记录,它会要求您访问的网站不要跟踪您。

在这里:http ://en.wikipedia.org/wiki/Privacy_mode

隐私模式或“隐私浏览”或“隐身模式”[1] 是某些网络浏览器中的一种隐私功能,用于禁用浏览历史记录和网络缓存。这允许人们在不存储可以在以后检索的本地数据的情况下浏览 Web。隐私模式还将禁用 cookie 和 Flash cookie 中的数据存储。这种隐私保护仅在本地计算设备上,因为仍然可以通过关联网络服务器上的 IP 地址来识别经常访问的网站。

所以这意味着 Selenium 相当于开启了 Private Browsing。每次您通过 Selenium 启动任何驱动程序时,它都会创建一个全新的匿名配置文件,您实际上是在私下浏览。(如果您不使用已创建的 safari 配置文件)

但!如果您仍然认为需要在隐身模式下运行 safari,可以使用以下 hack:

您可以使用 AppleScript 自动执行启用隐私浏览选项的过程。像这样。

  1. 首先,启动 Universal Access 系统首选项并启用 Enable Access for Assistive Devices 选项。

  2. 启动脚本编辑器(在 Applications 文件夹内的 AppleScript 文件夹中)并输入以下脚本:

tell application "Safari"
  activate
end tell

tell application "System Events"
  tell process "Safari"
      tell menu bar 1
          tell menu bar item "Safari"
              tell menu "Safari"
                  click menu item "Private Browsing"
              end tell
          end tell
      end tell
  end tell
end tell

来自这里的信息:http: //www.macworld.com/article/1139714/enableprivatebrowsing.html

于 2015-05-31T16:13:11.133 回答