如何在运行时更改Firefox Web驱动程序代理设置?

Yur*_*hev 5 java proxy selenium selenium-firefoxdriver

我使用Selenium 2.35.0并配置代理设置,如:

DesiredCapabilities cap = new DesiredCapabilities();
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(proxyStr).setFtpProxy(proxyStr).setSslProxy(proxyStr);
cap.setCapability(CapabilityType.PROXY, proxy);

driver = new FirefoxDriver(firefox, profile, cap);
Run Code Online (Sandbox Code Playgroud)

当我需要更改代理设置时,我强制重启webdriver并编写其他"proxyStr".

如何在没有webdriver重启的情况下实现这种变化?

Jim*_*ans 8

为任何给定的驱动程序设置代理时,仅在创建WebDriver会话时设置它; 它不能在运行时更改.即使您获得了创建的会话的功能,您也无法更改它.所以答案是,不,如果要使用不同的代理设置,则必须启动新会话.