您好我正在编写Selenium WebDriver Java代码/脚本。
public static WebDriver dr =null;
public static EventFiringWebDriver driver=null;
dr = new FirefoxDriver();
driver = new EventFiringWebDriver(dr);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
因此Firefox浏览器正在打开,但代理设置正在停止。
如果是手动,我去了工具 - >选项 - 设置 - >我已经给了
自动检测此网络的代理设置
它正在发挥作用。
但每当我通过脚本打开时,我认为新的个人资料正在打开。这就是我使用脚本为此网络设置自动检测代理设置的原因。
那么请你帮我怎么做?
由于 拉朱
答案 0 :(得分:4)
这是一个很好的解决方案:
import org.openqa.selenium.Proxy.ProxyType;`
public static WebDriver dr = null;
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setSslProxy("proxyurl"+":"+8080);
proxy.setFtpProxy("proxy url"+":"+8080);
proxy.setSocksUsername("SSSLL277");
proxy.setSocksPassword("password");
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(CapabilityType.PROXY, proxy);
dr = new FirefoxDriver(dc);
答案 1 :(得分:3)
您可以使用firefox驱动程序在运行时设置配置文件的首选项。试试以下内容:
FirefoxProfile ff = new FirefoxProfile();
ff.setPreference("network.proxy.type", ProxyType.AUTODETECT.ordinal());
FirefoxDriver ffD = new FirefoxDriver(ff);
答案 2 :(得分:1)
这个解决方案对我有用,有点像前两个的组合而且很简单。不需要进行单独的用户身份验证。
import org.openqa.selenium.Proxy.ProxyType;
import org.openqa.selenium.firefox.FirefoxProfile;
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "proxy.something.com");
profile.setPreference("network.proxy.http_port", 8080);
profile.setPreference("network.proxy.ssl", "proxy.something.com");
profile.setPreference("network.proxy.ssl_port", 8080);
WebDriver driver = new FirefoxDriver(profile);
答案 3 :(得分:0)
这是我设置自动检测的方法:
FirefoxProfile profile = new FirefoxProfile();
Proxy proxy = new Proxy();
proxy.IsAutoDetect=true;
profile.SetProxyPreferences(proxy);
driver = new FirefoxDriver(profile);