Выполнение тестов Selenium в безголовом режиме Chrome
Я пытаюсь запустить приложение в режиме безголового Chrome, используя приведенный ниже код, при условии, что приложение работает как Google.com, код работает нормально, тогда как при предоставлении тестируемого URL реального приложения я получаю пустую страницу. Есть идеи, как это исправить?
Код:
ChromeOptions options = new ChromeOptions();
Options.addArguments("--headless");
Webdriver driver = new ChromeDriver(options);
driver.get("https://www.google.com");
System.out.println(driver.getTitle());
Версия Chrome - 66.
2 ответа
Спасибо за ответы, я смог решить, как выглядит приложение, к которому я обращался, имеет ошибку безопасности, и любое приложение, работающее в безголовом Chrome, если оно имеет ошибку безопасности, открывает пустую страницу, вот как мы можем ее обработать.
Код ChromeOptions options = new ChromeOptions(); DesiredCapabilitiesabilities = DesiredCapabilities.chrome(); Capabilities.setAcceptInsecureCerts(истинный); Options.merge(возможности);
Согласно обсуждению в этой теме, есть только два различия.
- В строке UA есть "безголовый", а браузер идентифицируется как "HeadlessChrome". использование
options.add_argument("user-agent=XXX")
переопределить настройку пользовательского агента и посмотреть, решает ли он проблему. - Запись заголовка AcceptLanguage не устанавливается при использовании безголовых (похоже на ошибку) Selenium не позволяет устанавливать заголовки HTTP. Вы можете использовать обходные пути, обсуждаемые здесь.