Chrome Headless не работает с конкретным профилем, он выбирает случайный профиль по умолчанию

У меня проблема с запуском теста на селен в определенном профиле (с расширениями). без заголовка сценарий является рабочим файлом (с определенным профилем), но в режиме без заголовка он выбирает профиль по умолчанию, что привело к сбою сценария.

Пробовал несколько способов решить эту проблему, но ничего не получалось.

  1. chromeOptions.setAcceptInsecureCerts (истинный); chromeOptions.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true); chromeOptions.setCapability (CapabilityType.ACCEPT_INSECURE_CERTS, true);

  2. chromeOptions.addArguments ("- дистанционный-отладка-порта =23456"); - это привело к ошибке в этом порту.

    настройка кода для запуска браузера Chrome в автономном режиме.

    chromeOptions.setExperimentalOption("excludeSwitches", 
    Arrays.asList("disable-sync", "enable-logging"));
    chromeOptions.addArguments("--enable-sync");
    chromeOptions.addArguments("--disable-logging");
    chromeOptions.addArguments("--no-sandbox");
    chromeOptions.addArguments("--disable-dev-shm-usage");
    
    chromeOptions.addArguments("--headless");
    chromeOptions.addArguments("--disable-gpu");
    chromeOptions.addArguments("--window-size=1280,800");
    chromeOptions.addArguments("--allow-insecure-localhost");
    chromeOptions.addArguments("--remote-debugging-port=45447");
    
    chromeOptions.setAcceptInsecureCerts(true);
    chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    chromeOptions.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
    

1 ответ

Решение

Добавление расширений не поддерживается безголовым прогоном. Таким образом, использовался виртуальный фрейм-буфер Xvfb для макета пользовательского интерфейса Chrome. Удалите "--headless" при запуске экземпляра браузера.

Другие вопросы по тегам