由于我不能用简短的方式解释的原因,我想用
pac
文件
firefox
测试(
python-selenium
)为各种类型的请求协调使用的代理。
这是
派克靴
我正在使用的文件:
function FindProxyForURL(url, host)
{
console.log("test proxy");
lsjkd fhafh fasdfhsdjkl fhs
if (url.substring(0, 3) === "ws:" || url.substring(0, 4) === "wss:")
{
return "DIRECT";
} else {
return "PROXY 0.0.0.0:8080";
}
}
下面是测试的完整脚本:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
selenium_proxy = webdriver.Proxy()
selenium_proxy.proxy_type = webdriver.common.proxy.ProxyType.PAC
selenium_proxy.proxyAutoconfigUrl = "/path/to/proxy.pac"
profile = webdriver.FirefoxProfile()
profile.set_proxy(selenium_proxy)
driver = webdriver.Firefox(firefox_profile=profile)
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
time.sleep(10)
driver.close()
因为
派克靴
文件包含一个明显的语法错误,我希望测试失败(如
UnknownError
)中。但是,页面加载没有问题,测试成功。
为什么
派克靴
Firefox驱动程序中没有使用文件?或者是加载但被忽略了?是否可以从
派克靴
文件?
我试着像上面那样做,但是(即使没有语法错误)我看不到
console.log
任何地方(浏览器本身都没有,为此我增加了10秒的睡眠时间,因此我可以按F12键检查浏览器的控制台)。
如何使用
派克靴
Firefox的文件?
附录:
你甚至可以用下面的
派克靴
文件以查看它根本没有被使用:
//
// Define the network paths (direct, proxy and deny)
//
// Default connection
var direct = "DIRECT";
// Alternate Proxy Server
var proxy = "PROXY 0.0.0.0:8095";
// Default localhost for denied connections
var deny = "PROXY 0.0.0.0:65535";
//
// Proxy Logic
//
function FindProxyForURL(url, host)
{
return deny;
}
每个请求都应该被拒绝-但是测试仍然有效并且网页被正确请求…