Выполнение тестов Selenium в безголовом режиме Chrome - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь запустить приложение в режиме безголового 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 ]

0 голосов
/ 14 января 2019

Спасибо за ответы, я смог решить это, похоже, приложение, к которому я обращался, имеет ошибку безопасности, и любое приложение, работающее в безголовом Chrome, если оно имеет ошибку безопасности, открывает пустую страницу, вот как мы можем ее обработать.

код Параметры ChromeOptions = новые ChromeOptions (); Возможности DesiredCapabilities = DesiredCapabilities.chrome (); Capabilities.setAcceptInsecureCerts (истинный); Options.merge (возможности);

0 голосов
/ 14 января 2019

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

  1. Строка UA содержит «headless», а браузер идентифицируется как «HeadlessChrome». Используйте options.add_argument("user-agent=XXX"), чтобы переопределить настройку пользовательского агента и посмотреть, решает ли он проблему.
  2. Запись заголовка AcceptLanguage не установлена ​​при использовании безголового (похоже на ошибку) Selenium не позволяет устанавливать заголовки HTTP. Вы можете использовать обходные пути , обсуждаемые здесь .
...