Смена прокси после запуска chromedriver в Java селен - PullRequest
0 голосов
/ 01 октября 2019

Можно ли использовать прокси после запуска chromedriver в том же браузере?

EX:

  1. Я запускаю драйвер хрома
  2. Загрузка веб-сайта
  3. Введите информацию
  4. Использовать прокси
  5. Нажмите кнопку Отправить

Я думаю, я нашел несколько способов сделать это в Python и JS, но я не уверен, как конвертироватьэто в Java

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Согласно текущей реализации Selenium после настройки экземпляра WebDriver с необходимыми параметрами и Capabilities и инициализации WebDriver сеанс, чтобы открыть веб-браузер , вы не можете изменить возможности времени выполнения. Даже если вы все еще можете получить возможности выполнения, вы не сможете изменить их обратно.

Итак, чтобы использовать прокси , вы должны инициировать новый WebDriver сеанс.

здесь @JimEvans ясный и краткий комментарий (по состоянию на 24 октября '13 в 13:02), связанный с возможностью настройки прокси:

Когда вы устанавливаете прокси для любого данного драйвера, он устанавливается только во время создания сеанса WebDriver;это не может быть изменено во время выполнения. Даже если вы получите возможности созданного сеанса, вы не сможете его изменить. Таким образом, ответ: нет, вы должны начать новый сеанс, если хотите использовать другие настройки прокси.

Соответствующее обсуждение можно найти в Установить возможность на уже запущенном веб-драйвере selenium

0 голосов
/ 01 октября 2019

Вы можете использовать класс ChromeOptions.

You can create an instance of ChromeOptions, which has convenient methods for setting ChromeDriver-specific capabilities. You can then pass the ChromeOptions 

object into the ChromeDriver constructor:
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);



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);
...