簡體   English   中英

Java Selenium:使用代理進行身份驗證

[英]Java Selenium: Using proxy with authentication

我試圖通過代理服務器傳遞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", "my_password");
capabilities.setCapability(CapabilityType.PROXY, proxy);

webDriver = new ChromeDriver(capabilities);

然后我嘗試使用.get()方法獲取一個網站,但我得到一個需要代理用戶名和密碼的警報。

我嘗試在get()中使用: http://my.username@website.com: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);

為此,解決方案http://my.username@website.com:password@someWebsite.com將起作用,或者您可以使用AutoIT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM