Как заменить DesiredCapabilities с ChromeOptions в Selenium?

256
09 февраля 2018, 20:29

Мне необходимо импользовать Selenium с proxy для его конфигурации я использую DesiredCapabilities вот такоим образом:

Proxy proxy = new Proxy();
proxy.setHttpProxy("xxx.xxx.xx.xx:8000");
proxy.setSslProxy("xxx.xxx.xx.xx:8000");
proxy.setSocksUsername("LOGIN");
proxy.setSocksPassword("PASS");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("proxy", proxy);
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);

И это работает, но проблема в том что перегрузка конструктора ChromeDriver принимающая DesiredCapabilities версии Selenium 3.8.1 - @Deprecated. Если я правильно интерпретировал документацию, то на смену DesiredCapabilities пришел ChromeOptions.

Как при помощи ChromeOptions, или просто не используя @Deprecated конструкций сделать тоже самое?

Answer 1

https://sites.google.com/a/chromium.org/chromedriver/capabilities

ChromeOptions options = new ChromeOptions();
// Add the WebDriver proxy capability.
Proxy proxy = new Proxy();
proxy.setHttpProxy("myhttpproxy:3337");
options.setCapability("proxy", proxy);
// Add a ChromeDriver-specific capability.
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);

В твоём случае получается как-то так:

Proxy proxy = new Proxy();
proxy.setHttpProxy("xxx.xxx.xx.xx:8000");
proxy.setSslProxy("xxx.xxx.xx.xx:8000");
proxy.setSocksUsername("LOGIN");
proxy.setSocksPassword("PASS");
ChromeOptions options = new ChromeOptions();
options.setCapability("proxy", proxy);
options.addArguments("start-maximized");
WebDriver driver = new ChromeDriver(options);
READ ALSO
Какие обьекты содержит в себе meta?

Какие обьекты содержит в себе meta?

Доброе УтроИзучаю Модель памяти

212
Как добавить в post запрос form-data?

Как добавить в post запрос form-data?

Как исправить код, чтобы корректно отправляло "form-data":

300
Менять строки таблицы jquery

Менять строки таблицы jquery

Есть скрипт динамической таблицы

256
Как добавить html2canvas к dom-to-image?

Как добавить html2canvas к dom-to-image?

Когда делаю скрин dom-to-image все нормально, но не во всех браузерах работаетПытаюсь добавить html2canvas, чтобы скрины делать отдельно для safari, но они...

361