在selenium中设置代理



我需要在selenium中设置ip:port:user:pass代理,以便在脚本执行10次后自动刷新。我怎么能做到呢?我正在使用Python selenium

var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "X",
port: parseInt(X)
},
bypassList: ["foobar.com"]
}
};
chrome.proxy.settings.set({ value: config, scope: "regular" }, function () { });
function callbackFn(details) {
return {
authCredentials: {
username: "X",
password: "X"
}
};
}

为什么不动态生成你的' background.js文件?


import zipfile

PROXY_HOSTS = ['proxy1', 'proxy2']
PROXY_PORT = 8080
PROXY_USER = ['user1', 'user2'] 
PROXY_PASS = ['password1', 'password2']
backgroundjs = """
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "{0}",
port: parseInt({1})
},
bypassList: ["foobar.com"]
}
};
chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: "{2}",
password: "{3}"
}
};
}
""".format(PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)

:

用vars创建zip:

myproxies = zip(PROXY_HOSTS, PROXY_USER, PROXY_PASS)

你会得到类似这样的内容:

[('proxy1', 'user1', 'password1'), ('proxy2', 'user2', 'password2')]

迭代并保存:

with zipfile.ZipFile(pluginfile, 'w') as selzip:
selzip.writestr("background.js", backgroundjs)

最新更新