Python Selenium Webdriver-快速更改代理设置
我目前正在成功使用以下代码在Selenium
Webdriver中使用代理。不幸的是,如果不重新启动整个浏览器,我似乎无法使其更改代理设置。我曾希望仅更新代理服务器设置(就像我将代理服务器设置为开始那样)会更改代理服务器,但似乎不起作用。在这个问题上的任何帮助将不胜感激。
profile = webdriver.FirefoxProfile()profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxyAddress)
profile.set_preference("network.proxy.http_port", proxyPort)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
回答:
这是一个有点老的问题。但是实际上有可能通过“ ” 动态地更改代理,我将在 Firefox中 使用 Selenium
JS, 但是您可以使用想要的语言。
访问“ about:config”
driver.get("about:config");
运行更改代理的脚本
var setupScript=`var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
prefs.setIntPref("network.proxy.type", 1);
prefs.setCharPref("network.proxy.http", "${proxyUsed.host}");
prefs.setIntPref("network.proxy.http_port", "${proxyUsed.port}");
prefs.setCharPref("network.proxy.ssl", "${proxyUsed.host}");
prefs.setIntPref("network.proxy.ssl_port", "${proxyUsed.port}");
prefs.setCharPref("network.proxy.ftp", "${proxyUsed.host}");
prefs.setIntPref("network.proxy.ftp_port", "${proxyUsed.port}");
`;
//running script below
driver.executeScript(setupScript);
//sleep for 1 sec
driver.sleep(1000);
当使用 是你把你的变量,在上面的例子中,我使用ES6它处理级联如图所示,你可以使用你选择的其他拼接方法,根据您的语言。(该 是一个 包含要运行的脚本用``)括起来
:访问您的网站
driver.get("https://whatismyip.com");
说明:以上代码利用Firefox的API来使用JavaScript代码更改首选项。
以上是 Python Selenium Webdriver-快速更改代理设置 的全部内容, 来源链接: utcz.com/qa/434939.html