У меня есть фрагмент кода, который автоматически получает прокси-сервер, когда он создает хроматический драйвер, а затем настраивает прокси-сервер в хроматический драйвер. Есть ли способ получить этот прокси из объекта chromedriver?
Вот мой код:
public void getProxyFromDriver() {
ChromeDriver driver = getDriver();
//get the proxy from driver;
//ip, port, proxyType should be the same as the argument added when create the driver.
MyProxy proxy;
}
private ChromeDriver getDriver() {
System.setProperty("webdriver.chrome.driver", "chromeDriverPath");
ChromeOptions options = new ChromeOptions();
MyProxy proxy = getMyProxy(); //auto get proxy
options.addArguments("--proxy-server=" + proxy.type + "://" + proxy.ip + ":" + proxy.port);
return new ChromeDriver(options);
}
private MyProxy getMyProxy() {
//Here is just an example, it is actually obtained randomly from the database.
MyProxy myProxy = new MyProxy();
myProxy.ip = "192.168.2.199";
myProxy.port = 1090;
myProxy.type = "SOCKS";
return myProxy;
}
private class MyProxy {
private String ip;
private int port;
private String type;
}
Если я не могу получить прокси напрямую, есть ли полезный совет, кроме добавления прокси в качестве параметра?
UPDATE:
Я пытаюсь получить прокси через следующий код:
Proxy proxy = (Proxy) driver.getCapabilities().getCapability("proxy");
Но я не могу получить прокси ip (или хост), а также порт и proxyType из возвращенного объекта proxy
.