Как динамически менять прокси в драйвере Chrome - PullRequest
0 голосов
/ 27 февраля 2019

У меня проблема со сменой прокси, каждый раз, когда я загружаю новую страницу, она создает новый процесс браузера.Я нашел решение для Firefox, но не для браузера Chrome.

self.options = webdriver.ChromeOptions()
self.options.add_argument("--start-maximized")
self.options.add_argument("--disable-popup-blocking")
self.options.add_argument('--proxy-server=%s' % 'proxy')

Решение Firefox: Python Selenium Webdriver - Изменение настроек прокси на лету

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Я нашел решение в Java / Scala и обнаружил, что ChromeOptions распространяется на MutableCapabilities, как следует из названия, является изменчивым, поэтому я получаю следующий код в scala, Java нужно немного изменить

val proxy = new org.openqa.selenium.Proxy()
val proxyStr = "127.0.0.1:1080"
proxy.setHttpProxy(proxyStr)
val option = new ChromeOptions()
option.setProxy(proxy)
chromeDriver.getCapabilities.merge(option) // will change proxy used by the driver
0 голосов
/ 28 февраля 2019

Попробуйте что-то вроде

ChromeOptions options = new ChromeOptions();
proxy = new Proxy();
proxy.Kind = ProxyKind.Manual;
proxy.IsAutoDetect = false;
proxy.HttpProxy =
proxy.SslProxy = "127.0.0.1:3330";
options.Proxy = proxy;
options.AddArgument("ignore-certificate-errors");
var chromedriver = new ChromeDriver(options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...