JavaSelenium:使用带有身份验证的代理
我试图通过代理服务器传递Selenium Chrome驱动程序。 服务器使用用户名和密码身份验证 当我尝试时:JavaSelenium:使用带有身份验证的代理,java,selenium,selenium-webdriver,proxy,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Proxy,Selenium Chromedriver,我试图通过代理服务器传递Selenium Chrome驱动程序。 服务器使用用户名和密码身份验证 当我尝试时: Proxy proxy = new Proxy(); proxy.setHttpProxy("12.345.678.9"); capabilities.setCapability("java.net.socks.username", "my.email@website.com"); capabilities.setCapability("java.net.socks.password
Proxy proxy = new Proxy();
proxy.setHttpProxy("12.345.678.9");
capabilities.setCapability("java.net.socks.username", "my.email@website.com");
capabilities.setCapability("java.net.socks.password", "my_password");
capabilities.setCapability(CapabilityType.PROXY, proxy);
webDriver = new ChromeDriver(capabilities);
然后我尝试使用.get()方法获取网站,但收到一个需要代理用户名和密码的警报
我尝试在get()中使用:http://my.username@网址:password@someWebsite.com
但效果并不理想
还尝试:
String stringUrl = "http://www.someUrl.com";
URL url = new URL(stringUrl);
URLConnection uc = url.openConnection();
uc.setRequestProperty("X-Requested-With", "Curl");
String userpass = "my.email@website.com" + ":" + "my_password";
String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes()));
uc.setRequestProperty("Authorization", basicAuth);
InputStreamReader inputStreamReader = new InputStreamReader(uc.getInputStream());
有什么建议吗
谢谢大家 您可以使用
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/New User");
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
为此,解决方案将起作用,或者您可以使用
AutoIT
可能与很久以前的情况相同,但AutoIT是唯一有效的选项。您确定在这种情况下使用代理吗?