Chromedriver перемещается на мобильный сайт вместо веб-версии на Centos - PullRequest
0 голосов
/ 27 июня 2018

Я использую хром без головы на Centos, с

headless chrome version 2.38,
and google-chrome-stable version 67.0,
selenium 3.12

При попытке открыть сайт с помощью драйвера, он не открывает актуальную веб-версию сайта на centos, то же самое отлично работает на macos.

Использование приведенных ниже параметров:

"CHROME_OPTIONS" : [ 
        "--headless", 
        "----disable-gpu", 
        "--ignore-certificate-errors", 
        "window-size=1920,1080" ]

Не могу понять, почему так работает

1 Ответ

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

Я предполагаю, что под «веб-версией» вы подразумеваете, что для вашего веб-приложения есть как «настольная», так и «мобильная» презентации. В этом случае у веб-приложений обычно есть два разных метода, которые они используют, чтобы определить, является ли клиент браузером для мобильного устройства или для настольного компьютера:

  1. Веб-сервер проверяет пользовательский агент на наличие явной пометки браузера как мобильной версии
  2. Интерфейс веб-приложения выполняет расчеты на основе измерений DPI окна, в котором оно выполняется, в пределах

Первый метод редко встречается и может быть легко подорван. Второй метод будет легко диагностировать, если браузер не будет работать в автономном режиме. Может показаться, что браузер должен загрузить настольную версию с разрешением 1920x1080, но DPI работает не так. DPI - это коэффициент масштабирования, который может варьироваться в зависимости от операционной системы (что может объяснить, почему ваша установка работает на macOS) Чтобы устранить эту потенциальную проблему, попробуйте добавить --force-device-scale-factor=1 к вашим CHROME_OPTIONS аргументам и снова запустить тест.

...