Chrome безголовый браузер с аутентификацией корпоративного прокси не работает - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь запустить браузер без головы Chrome, сидя за корпоративным прокси.Я попробовал ниже код.Но не смог пройти через это.

public class HeadlessChrome 
{
    WebDriver driver;

    @Test
    public void createChromeDriverHeadless() throws InterruptedException
    {
        System.setProperty("webdriver.chrome.driver", "D:\\LocalData\\workspace\\Drivers and Libraries\\driver\\chromedriver.exe");

        ChromeOptions chromeOptions = new ChromeOptions();

        Proxy proxy = new Proxy();
        proxy.setHttpProxy("http://user:pwd@server:port");
        proxy.setSslProxy("http://user:pwd@server:port");

//      chromeOptions.setCapability("proxy", proxy);
        chromeOptions.addArguments("--proxy-server=user:pwd@server:port");
        chromeOptions.addArguments("--headless");
        chromeOptions.addArguments("--disable-gpu");
        chromeOptions.addArguments("start-maximized");  

        driver = new ChromeDriver(chromeOptions);
        driver.get("http://seleniumhq.org");       

        Thread.sleep(5000);
        System.out.println("Title : " + driver.getTitle());
        assertTrue(driver.findElement(By.id("q")).isDisplayed());
        driver.quit();
    }
}

Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Существует безголовый браузер под названием Linken -phere, который сотрудничает с Luminati.У них есть хорошие предложения.Вы должны проверить их.https://miped.ru/f/threads/linken-sphere-antidetekt-brauzer-novogo-pokolenija.67098/

0 голосов
/ 21 июня 2018

Если бы вы не использовали headless, вы могли бы использовать подход, указанный ниже:

user: проходить прокси с селеном

Но с безголовым расширением в настоящее времяне положено.Так что теперь вы можете добавить еще один прокси

chrome -> (intermediate proxy w/o auth) -> corporate proxy w/ auth -> internet

Один из вариантов - использовать polipo

https://www.irif.fr/~jch/software/polipo/

с настройками ниже

parentAuthCredentials=username:password
parentProxy=corporateproxy:port

и затем использовать

chromeOptions.addArguments("--proxy-server=http://polipoproxy:port");

По умолчанию будет 127.0.0.1:8123 в параметре not override в конфигурации polipo.

Другие параметры, которые можно использовать

  • Используйте прокси-сервер squid вместо polipo

  • Напишите свой собственный прокси-сервер пересылки, используя python или узел или любой другой язык, который вам удобен

...