如何配置 Safari webdriver 以使用 .pac 文件

问题描述

我正在使用 Ruby 和 Watir 框架开发自动化存储库。我找到了一种为 chrome 和 firefox webfrivers 设置 pac 文件方法。 示例:

铬:foreach (TimeAccount ta in timeAccountList) { listBox.Items.Add(new TimeAccountItem(ta)); }

火狐:args << "--proxy-pac-url=#{pac_file_path}"

我的问题是如何为 Safari webdriver 设置它?

谢谢!

解决方法

理论上您应该使用 proxy configuration in your capabilities。在刚刚发布的 Selenium 4 beta 4 之前,Selenium 选项和代理存在一个错误。

我鼓励大家升级到 Watir 7 和 Selenium 4,即使它们在技术上仍处于测试阶段,但它们比最新版本的 6.x 和 3.x 更可靠。

使用 Watir 7.0.0.beta4 和 Selenium 4.0.0.beta4,您应该能够做到这一点:

proxy = Selenium::WebDriver::Proxy.new(type: :pac,proxy_autoconfig_url: pac_file_path)

Watir::Browser.new :safari,options: { proxy: proxy }

一旦我合并 this PR 并发布 Watir 7.0.0.beta5,那么这将起作用:

Watir::Browser.new :safari,proxy: {type: :pac,proxy_autoconfig_url: pac_file_path}