ОШИБКА: configuration_policy_handler_list.cc (90)] Неизвестная политика: DnsPrefetchingEnabled с ChromeDriver и Chrome с использованием Selenium - PullRequest
0 голосов
/ 02 мая 2019

В последнее время каждый раз, когда я запускаю какой-либо тест BDD, мне кажется, что в командной строке появляется следующая ошибка:

работает на драйвере Chrome: 73 / 74.0.3729.6 и Chrome 73

[17996: 17852: 0502 / 103000.545: ОШИБКА: configuration_policy_handler_list.cc (90)] Неизвестная политика: DnsPrefetchingEnabled [17996: 17852: 0502 / 103000.741: ОШИБКА: configuration_policy_handler_list.cc (90)] Неизвестная политика: DnsPrefetchingEnabled

После этого командная строка остается открытой, а chrome открывается на несколько секунд, закрывается и открывает новую командную строку, она делает это примерно 5+ раз.

Я пробовал следующую ветку -

Не удалось прочитать HKLM \ SOFTWARE \ Policies \ Google \ Chrome \ MachineLevelUserCloudPolicyEnrollmentToken: система не может найти указанный файл. (0x2)

но это только создавало больше проблем. Я попытался обновить драйвер Chrome до 73 и 74, но это не помогло устранить проблему.

1 Ответ

0 голосов
/ 02 мая 2019

Это сообщение об ошибке ...

[17996:17852:0502/103000.741:ERROR:configuration_policy_handler_list.cc(90)] Unknown policy: DnsPrefetchingEnabled

... означает, что ChromeDriver не смог связаться с WebBrowser , т.е. Chrome Browser .

Некоторая информация о вашей тестовой среде и используемых вами двоичных версиях помогла бы нам лучше отладить проблему. Однако простое решение, по-видимому, заключается в использовании switch --dns-prefetch-disable через экземпляр ChromeOptions следующим образом:

  • подробности:

    --dns-prefetch-disable
    
    Disables prefetching of DNS information.
    
    This switch was listed in chrome/common/chrome_switches.cc
    Removed on 2014-11-14
    
  • Пример кода:

    'chromeOptions': { 
      'args': ['--DNS-prefetch-disable']
    }
    

Предварительная выборка DNS

Время разрешения DNS может привести к значительной задержке, воспринимаемой пользователем. Время, которое занимает разрешение DNS, сильно варьируется. Задержки задержки варьируются от около 1 мс (локально кэшированные результаты) до обычно сообщаемого времени в несколько секунд.

Предварительная выборка DNS - это попытка разрешить доменные имена до того, как пользователь попытается перейти по ссылке. Это делается с помощью обычного механизма разрешения DNS компьютера; подключение к Google не используется. Как только имя домена будет разрешено, если пользователь перейдет к этому домену, не будет эффективной задержки из-за времени разрешения DNS. Наиболее очевидный пример, в котором может помочь предварительная выборка DNS, - это когда пользователь просматривает страницу с множеством ссылок на различные домены, например страницу результатов поиска. Когда мы встречаем гиперссылки на страницах, мы извлекаем имя домена из каждого и преобразовываем каждый домен в IP-адрес. Вся эта работа выполняется параллельно с чтением страницы пользователем с использованием минимальных ресурсов процессора и сети. Когда пользователь нажимает на любое из этих предварительно разрешенных имен, он в среднем экономит около 200 миллисекунд в своей навигации (при условии, что пользователь еще недавно не посещал домен). Что более важно, чем средняя экономия, пользователи не будут испытывать «наихудших» задержек разрешения DNS, которые обычно превышают 1 секунду.


BuiltInDnsClientEnabled

  • BuiltInDnsClientEnabled : использует встроенный DNS-клиент.

    Data type:
        Boolean [Windows:REG_DWORD]
    
    Windows registry location for Windows clients:
        Software\Policies\Google\Chrome\BuiltInDnsClientEnabled
    
    Mac/Linux preference name:
        BuiltInDnsClientEnabled
    
    Supported on:
        Google Chrome (Linux, Mac, Windows) since version 25
    
    Supported features:
        Dynamic Policy Refresh: Yes, Per Profile: No
    
    Description:
        Controls whether the built-in DNS client is used in Google Chrome.
    
        If this policy is set to true, the built-in DNS client will be used, if available.
    
        If this policy is set to false, the built-in DNS client will never be used.
    
        If this policy is left not set, the built-in DNS client will be enabled by default on MacOS, Android (when neither Private DNS nor VPN are enabled) and ChromeOS, and the users will be able to change whether the built-in DNS client is used by editing chrome://flags or specifying a command-line flag.
    
    Example value:
        0x00000001 (Windows), true (Linux), <true /> (Mac)
    

ТЛ; др

  • И Chromium, и Google Chrome поддерживают один и тот же набор политик. Обратите внимание, что этот ответ может включать невыпущенные политики, которые могут быть изменены или удалены без предварительного уведомления, и для которых не предоставляются никакие гарантии, включая гарантии в отношении их свойств безопасности и конфиденциальности.
  • Эти политики предназначены исключительно для настройки внутренних экземпляров Google Chrome в вашей организации. Использование этих политик за пределами вашей организации (например, в общедоступной программе) считается вредоносным ПО и, вероятно, будет помечено Google и поставщиками антивирусных программ как вредоносное ПО.
  • Эти настройки не нужно настраивать вручную! Простые в использовании шаблоны для Windows, Mac и Linux доступны для скачивания с https://www.chromium.org/administrators/policy-templates.
  • Последнее обновление: 2019-04-24 на основе Chrome 76.0.3776.
...