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

回到顶部