我需要在 selenium 中设置 ip:port:user:pass
代理以在执行 10 次脚本后自动刷新。我怎么能做到这一点?我正在使用 Python 硒
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"
}
};
}
答案 0 :(得分:0)
为什么不动态生成你的 `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)
那么:
使用您的变量创建 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)