t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как сделать логирование и прикрутить headless mode для InternetExplorerDriver?

Теги: #<Tag:0x00007f7486f9cf48> #<Tag:0x00007f7486f9cde0> #<Tag:0x00007f7486f9ccc8>

Здравствуйте!
Недавно писал автотесты для сайта компании с использованием ChromeDriver. Пришла задача расшириться на IE, но возникло две проблемы: 1) Логирование осуществлялось путём var logs = Driver.Manage().Logs.GetLog(LogType.Browser).ToList(); но в IE это вызывает Exception. 2) Headless mode для Chrome включался с помощью options.AddArgument("–headless");, но, погуглив, узнал, что для IE такой подход не работает. Подскажите, пожалуйста, как можно решить эти две проблемы? Пишу на C#

бегите от IE, бегите, не надо пытаться его автоматизировать

а если по существу:
я не уверен, что у него вообще есть возможность быть в headless режиме. вы попробуйте просто хотя бы один тест прогнать в IE, чтобы понять, что это будет полуавтоматизация, ибо нужно каждый раз настраивать политики безопасности и разрешать ходить на сайты с https перед запуском тестов. И это не говоря уже о том, что тест, который в хроме выполняется минуту, в ie спокойно может выполняться раз в 5 дольше

Я бы с удовольствием сбежал, сверкая пятками, но начальник сказал “у нас 90% пользователей сидят на IE, решай вопрос, крути любые костыли”. Тесты гнал в обычном режиме, вываливается на логах. Пошарился по инету, нашёл вариант, приведённый ниже, только работать он не захотел - не создаётся IE.log. Пожалуйста, подскажите, как выкрутиться?)

var service = InternetExplorerDriverService.CreateDefaultService();
service.LogFile = "C:\IE.log";
service.LoggingLevel = InternetExplorerDriverLogLevel.Trace;
  • вы уверены, что вам эти логи нужны?
  • вы пробовали дебажить ваш код? посмотреть, что лежит в переменных, куда пишется лог, есть ли он вообще?

Логи нужны. Суть моего проекта - сделать что-то вроде автотеста всей системы, который будет проверять состояние в целом, смотреть, на каких страницах вываливаются скрипты, собирать информацию о том, что где ведёт себя не так и т.д… Я уже написал рабочую версию для ChromeDriver, прикрутил это к сайту на ASP.NET, историю сделал - всё по красоте, всем всё нравится, но затребовали ещё и ослика. Дебажить пробовал, но не совсем понимаю, как должен работать код, приведённый выше - скорее всего, собирать логи в файл по окончанию работы драйвера? Если так, то вопрос решается парсингом этого самого файла… Осталось заставить браузер собирать логи

возможно, это устарело, но я делал так (для жавы, но у вас по типу так же должно быть, т.е. через капабилитиз в options):

options.setCapability("logLevel", "WARN");
options.setCapability("logFile", "IEDriver.log");

Хедлеса никакого нет для IE. Виртуалка с ИЕ и на ней гоняйте, в один поток, круглые сутки. Ну или несколько виртуалок, тогда хоть распарралелить можно.

По харкору - через селенойд, там на выбор, можно с виртуалками, а можно и докер замутить - https://github.com/aerokube/windows-images

Понял, попробую, отпишусь. Где-то находил вариант с работающим хэдлессом для ослика, но там приходится с бубном танцевать капитально. Откопаю - скину, может, кому понадобится

Собсно, так оно не работает (что логично), а передать capabilities в InternetExplorerDriver нельзя…

            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("LOG_LEVEL", "WARN");
            capabilities.SetCapability("LOG_FILE", "IEDriver.log");
            Testing.Tests.Properties.Driver = new InternetExplorerDriver();

Учитесь передавать капабилитиз в драйвер. Я подправил пример.

Пробовал так, но результат неутешительный. Понимаю, что задаю тупые вопросы и заранее прошу прощения=)

        InternetExplorerOptions options = new InternetExplorerOptions();
        options.AddAdditionalCapability("logLevel", "WARN");
        options.AddAdditionalCapability("logFile", "IEDriver.log");
        Testing.Tests.Properties.Driver = new InternetExplorerDriver(options);

loglevel поставьте DEBUG
Путь к файлу лога попробуйе прописать полный.

logLevel выставил, путь прописал - не помогло

извините, конечно, но вы хоть что-нибудь делаете вообще?

  • поставьте точку останова в моменте обращения к логам, посмотрите что там лежит
  • скиньте сюда ошибку, которую вам отдает тест
  • дайте хоть какую-то информацию помимо “не работает”

Если я пытаюсь получить способом var logs = Properties.Driver.Manage().Logs.GetLog(LogType.Browser).ToList(); , то лежит там null. Ошибка, соответственно, NullReferenceException. Как я уже сказал, я не совсем понимаю, как должны сохраняться логи, при подходе, описанном выше. Какую информацию предоставить?

  • поставьте дебаг на момент вызова логов,
  • откройте watcher ctrl + alt + w + 1, вызовите в нем логи,
  • наведитесь на переменную браузера, вам выпадет окошко с параметрами, можно там посмотреть, что лежит в переменной IWebDriver, есть ли логи, где они находятся

просто сейчас вы хотите от сообщества готовый ответ, которого скорее всего нет.

То ли я тупой, то ли лыжи не едут. Там ничего не лежит… Пробовал также при иницализации драйвера ставить точку, тоже ничего не нашёл…

ну так теперь провалитесь в капабилити, посмотрите что там лежит, все переменные посмотрите, погуглите, как можно включить логирование в IE и где оно должно быть

5 ответов на stack overflow говорят, что в IE логи не поддерживаются :smiley:

Тык, это я и так знал:D Тут интересно, как заставить их таки работать, любым костылём… Тем более, что где-то косвенно говорилось, что некоторым таки удавалось

Какие логи-то тогда? Я же вам свой пример дал. У меня лог создаётся.
logFile - тут путь надо задавать с двумя слешами, вместо одного.
Вот что получаю:

I 2020-07-07 16:38:31:929 C:\Projects\webdriver\cpp\webdriver-server\server.cc(87) Starting WebDriver server on port: '22268' on host: ''
I 2020-07-07 16:38:31:929 C:\Projects\webdriver\cpp\iedriver\IEServer.cpp(33) Driver version: 3.150.1.0 (32-bit)
D 2020-07-07 16:38:32:420 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /status {}
D 2020-07-07 16:38:32:421 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"build" : 
		{
			"version" : "3.150.1.0 (32-bit)"
		},
		"message" : "Ready to create session",
		"os" : 
		{
			"arch" : "x64",
			"name" : "windows",
			"version" : "10.0.18362.530 (WinBuild.160101.0800)"
		},
		"ready" : true
	}
}
D 2020-07-07 16:38:32:609 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session {
  "desiredCapabilities": {
    "ensureCleanSession": true,
    "logLevel": "DEBUG",
    "logFile": "T:\\NetBeansProjects\\gui-test\u002ftarget\u002fIEDriver.log",
    "se:ieOptions": {
      "initialBrowserUrl": "about:blank"
    },
    "browserName": "internet explorer",
    "initialBrowserUrl": "about:blank",
    "version": "",
    "platform": "WINDOWS"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "internet explorer",
        "platformName": "windows",
        "se:ieOptions": {
          "initialBrowserUrl": "about:blank"
        }
      }
    ]
  }
}
D 2020-07-07 16:38:32:609 C:\Projects\webdriver\cpp\iedriver\IESession.cpp(60) Mutex acquired for session initalization
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\IESession.cpp(116) Releasing session initialization mutex
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "newSession", "locator" : { }, "parameters" : {
  "desiredCapabilities": {
    "ensureCleanSession": true,
    "logLevel": "DEBUG",
    "logFile": "T:\\NetBeansProjects\\gui-test\u002ftarget\u002fIEDriver.log",
    "se:ieOptions": {
      "initialBrowserUrl": "about:blank"
    },
    "browserName": "internet explorer",
    "initialBrowserUrl": "about:blank",
    "version": "",
    "platform": "WINDOWS"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "internet explorer",
        "platformName": "windows",
        "se:ieOptions": {
          "initialBrowserUrl": "about:blank"
        }
      }
    ]
  }
} }
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "newSession", "locator" : { }, "parameters" : {
  "desiredCapabilities": {
    "ensureCleanSession": true,
    "logLevel": "DEBUG",
    "logFile": "T:\\NetBeansProjects\\gui-test\u002ftarget\u002fIEDriver.log",
    "se:ieOptions": {
      "initialBrowserUrl": "about:blank"
    },
    "browserName": "internet explorer",
    "initialBrowserUrl": "about:blank",
    "version": "",
    "platform": "WINDOWS"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "internet explorer",
        "platformName": "windows",
        "se:ieOptions": {
          "initialBrowserUrl": "about:blank"
        }
      }
    ]
  }
} }
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: newSession
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(48) Found W3C capabilities structure
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(199) Validating alwaysMatch capability set
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(673) Validating capabilities object
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(220) Validating firstMatch capability set with index 0
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(673) Validating capabilities object
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(722) Found browserName capability. Validating value type is string.
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(751) Found platformName capability. Validating value type is string.
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(989) Found se:ieOptions capability. Validating value type is object.
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(279) Processing matched capability set with index 0
W 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\NewSessionCommandHandler.cpp(105) Invalid capability setting: timeouts is type null instead of object. Default value will be used: null

D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(128) path before was 

D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(130) path after was 011C2198

D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(154) Ignoring Protected Mode Settings: 0
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(157) Checking validity of Protected Mode settings.
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1212) Detected IE version: 11, Windows version supports Protected Mode: 1
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1303) Found Protected Mode setting value of 3 for zone 1
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1307) RegQueryValueEx failed for getting Protected Mode setting for a zone: 2
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1307) RegQueryValueEx failed for getting Protected Mode setting for a zone: 3
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1307) RegQueryValueEx failed for getting Protected Mode setting for a zone: 4
D 2020-07-07 16:38:32:612 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(160) Has Valid Protected Mode Settings: 1
D 2020-07-07 16:38:32:615 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(258) Starting IE using the IELaunchURL API
D 2020-07-07 16:38:32:737 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(212) IE launched successfully with process ID 9448
D 2020-07-07 16:38:32:737 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(218) Process with ID 9448 is executing iexplore.exe
D 2020-07-07 16:38:32:737 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(435) Using Active Accessibility to find IWebBrowser2 interface
D 2020-07-07 16:38:32:988 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(1056) Looking for 9448
D 2020-07-07 16:38:32:988 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(513) Found window handle 003508FA for window with class 'Internet Explorer_Server' belonging to process with id 9448
D 2020-07-07 16:38:33:009 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(456) Ignoring zoom setting: 0
D 2020-07-07 16:38:33:019 C:\Projects\webdriver\cpp\iedriver\BrowserFactory.cpp(777) Browser zoom level is 100%
I 2020-07-07 16:38:33:021 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1368) Persistent hovering set to: 1
D 2020-07-07 16:38:33:021 C:\Projects\webdriver\cpp\iedriver\ProxyManager.cpp(119) Using existing system proxy settings.
D 2020-07-07 16:38:33:022 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for newSession complete
D 2020-07-07 16:38:33:022 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : 
	{
		"capabilities" : 
		{
			"acceptInsecureCerts" : false,
			"browserName" : "internet explorer",
			"browserVersion" : "11",
			"pageLoadStrategy" : "normal",
			"platformName" : "windows",
			"proxy" : {},
			"se:ieOptions" : 
			{
				"browserAttachTimeout" : 0,
				"elementScrollBehavior" : 0,
				"enablePersistentHover" : true,
				"ie.browserCommandLineSwitches" : "",
				"ie.edgechromium" : false,
				"ie.edgepath" : "",
				"ie.ensureCleanSession" : false,
				"ie.fileUploadDialogTimeout" : 3000,
				"ie.forceCreateProcessApi" : false,
				"ignoreProtectedModeSettings" : false,
				"ignoreZoomSetting" : false,
				"initialBrowserUrl" : "about:blank",
				"nativeEvents" : true,
				"requireWindowFocus" : false
			},
			"setWindowRect" : true,
			"strictFileInteractability" : false,
			"timeouts" : 
			{
				"implicit" : 0,
				"pageLoad" : 300000,
				"script" : 30000
			},
			"unhandledPromptBehavior" : "dismiss and notify"
		},
		"sessionId" : "9a471056-fdf4-4144-a81d-5c3af00b3062"
	}
}
D 2020-07-07 16:38:33:022 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:33:036 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"capabilities" : 
		{
			"acceptInsecureCerts" : false,
			"browserName" : "internet explorer",
			"browserVersion" : "11",
			"pageLoadStrategy" : "normal",
			"platformName" : "windows",
			"proxy" : {},
			"se:ieOptions" : 
			{
				"browserAttachTimeout" : 0,
				"elementScrollBehavior" : 0,
				"enablePersistentHover" : true,
				"ie.browserCommandLineSwitches" : "",
				"ie.edgechromium" : false,
				"ie.edgepath" : "",
				"ie.ensureCleanSession" : false,
				"ie.fileUploadDialogTimeout" : 3000,
				"ie.forceCreateProcessApi" : false,
				"ignoreProtectedModeSettings" : false,
				"ignoreZoomSetting" : false,
				"initialBrowserUrl" : "about:blank",
				"nativeEvents" : true,
				"requireWindowFocus" : false
			},
			"setWindowRect" : true,
			"strictFileInteractability" : false,
			"timeouts" : 
			{
				"implicit" : 0,
				"pageLoad" : 300000,
				"script" : 30000
			},
			"unhandledPromptBehavior" : "dismiss and notify"
		},
		"sessionId" : "9a471056-fdf4-4144-a81d-5c3af00b3062"
	}
}
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/window/maximize {
}
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "maximizeWindow", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
} }
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "maximizeWindow", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
} }
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing maximizeWindow command
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:33:076 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: maximizeWindow
D 2020-07-07 16:38:33:077 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for maximizeWindow complete
D 2020-07-07 16:38:33:077 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : 
	{
		"height" : 1176,
		"width" : 1936,
		"x" : -8,
		"y" : -8
	}
}
D 2020-07-07 16:38:33:077 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:33:096 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"height" : 1176,
		"width" : 1936,
		"x" : -8,
		"y" : -8
	}
}
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/url {
  "url": "https:\u002f\u002fya.ru"
}
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "get", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "url": "https:\u002f\u002fya.ru"
} }
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "get", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "url": "https:\u002f\u002fya.ru"
} }
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing get command
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:33:116 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: get
D 2020-07-07 16:38:33:120 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for get complete
D 2020-07-07 16:38:33:120 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(923) Command handler requested wait. This will cause a minimal wait of at least 50 milliseconds.
D 2020-07-07 16:38:33:120 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(969) Creating wait thread with deferred response of `{
	"value" : null
}`
D 2020-07-07 16:38:33:121 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(60) BeforeNavigate2: Url: https://ya.ru/, TargetFrame: 00000000
D 2020-07-07 16:38:33:176 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(222) Starting wait cycle.
D 2020-07-07 16:38:33:176 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(246) Beginning wait.
D 2020-07-07 16:38:33:176 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(567) Navigate Events Completed.
D 2020-07-07 16:38:33:177 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(583) Browser busy property is true.
D 2020-07-07 16:38:33:177 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(255) Wait not complete. Scheduling another wait cycle.
D 2020-07-07 16:38:33:177 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(969) Creating wait thread with deferred response of `{
	"value" : null
}`
D 2020-07-07 16:38:33:233 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(222) Starting wait cycle.
D 2020-07-07 16:38:33:233 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(246) Beginning wait.
D 2020-07-07 16:38:33:233 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(567) Navigate Events Completed.
D 2020-07-07 16:38:33:234 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(583) Browser busy property is true.
D 2020-07-07 16:38:33:234 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(255) Wait not complete. Scheduling another wait cycle.
D 2020-07-07 16:38:33:234 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(969) Creating wait thread with deferred response of `{
	"value" : null
}`
D 2020-07-07 16:38:33:296 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(222) Starting wait cycle.
D 2020-07-07 16:38:33:296 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(246) Beginning wait.
D 2020-07-07 16:38:33:296 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(567) Navigate Events Completed.
D 2020-07-07 16:38:33:330 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(583) Browser busy property is true.
D 2020-07-07 16:38:33:330 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(255) Wait not complete. Scheduling another wait cycle.
D 2020-07-07 16:38:33:330 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(969) Creating wait thread with deferred response of `{
	"value" : null
}`
D 2020-07-07 16:38:33:386 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(222) Starting wait cycle.
D 2020-07-07 16:38:33:386 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(246) Beginning wait.
D 2020-07-07 16:38:33:386 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(567) Navigate Events Completed.
D 2020-07-07 16:38:33:387 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(627) Waiting for document to complete...
D 2020-07-07 16:38:33:392 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(632) Not in navigating state
D 2020-07-07 16:38:33:392 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(263) Wait complete. Setting serialized response to deferred value {
	"value" : null
}
D 2020-07-07 16:38:33:406 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : null
}
D 2020-07-07 16:38:36:424 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/log {
  "type": "browser"
}
D 2020-07-07 16:38:36:424 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"error" : "unknown command",
		"message" : "Command not found: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/log",
		"stacktrace" : ""
	}
}
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/element {
  "value": ".af_dialog_main .af_messages_detail",
  "using": "css selector"
}
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "findElement", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "value": ".af_dialog_main .af_messages_detail",
  "using": "css selector"
} }
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "findElement", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "value": ".af_dialog_main .af_messages_detail",
  "using": "css selector"
} }
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing findElement command
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: findElement
I 2020-07-07 16:38:36:496 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(215) No child frame focus. Focus is on top-level frame
D 2020-07-07 16:38:36:516 C:\Projects\webdriver\cpp\iedriver\ElementFinder.cpp(65) Using FindElement atom to locate element having css = .af_dialog_main .af_messages_detail
I 2020-07-07 16:38:36:516 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(215) No child frame focus. Focus is on top-level frame
D 2020-07-07 16:38:36:536 C:\Projects\webdriver\cpp\iedriver\VariantUtilities.cpp(105) Result type is JScriptTypeInfo
D 2020-07-07 16:38:36:537 C:\Projects\webdriver\cpp\iedriver\VariantUtilities.cpp(105) Result type is JScriptTypeInfo
D 2020-07-07 16:38:36:538 C:\Projects\webdriver\cpp\iedriver\VariantUtilities.cpp(105) Result type is JScriptTypeInfo
D 2020-07-07 16:38:36:539 C:\Projects\webdriver\cpp\iedriver\VariantUtilities.cpp(401) -2147352570 [Неизвестное имя.]: Unable to get dispatch ID (dispid) for property toJSON
D 2020-07-07 16:38:36:539 C:\Projects\webdriver\cpp\iedriver\VariantUtilities.cpp(325) No toJSON property found on IDispatch
D 2020-07-07 16:38:36:795 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for findElement complete
D 2020-07-07 16:38:36:796 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : 
	{
		"error" : "no such element",
		"message" : "Unable to find element with css selector == .af_dialog_main .af_messages_detail",
		"stacktrace" : ""
	}
}
D 2020-07-07 16:38:36:796 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:36:796 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"error" : "no such element",
		"message" : "Unable to find element with css selector == .af_dialog_main .af_messages_detail",
		"stacktrace" : ""
	}
}
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/alert/text {}
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getAlertText", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getAlertText", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing getAlertText command
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:36:803 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: getAlertText
W 2020-07-07 16:38:36:916 C:\Projects\webdriver\cpp\webdriver-server\response.cc(101) Error response has status code 27 and message 'No alert is active' message
D 2020-07-07 16:38:36:916 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for getAlertText complete
D 2020-07-07 16:38:36:916 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : 
	{
		"error" : "no such alert",
		"message" : "No alert is active",
		"stacktrace" : ""
	}
}
D 2020-07-07 16:38:36:916 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:36:916 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : 
	{
		"error" : "no such alert",
		"message" : "No alert is active",
		"stacktrace" : ""
	}
}
D 2020-07-07 16:38:36:921 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/url {}
D 2020-07-07 16:38:36:921 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getCurrentUrl", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:921 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getCurrentUrl", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:922 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing getCurrentUrl command
D 2020-07-07 16:38:36:922 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:36:922 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: getCurrentUrl
I 2020-07-07 16:38:36:923 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(215) No child frame focus. Focus is on top-level frame
D 2020-07-07 16:38:36:946 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for getCurrentUrl complete
D 2020-07-07 16:38:36:946 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : "https://ya.ru/"
}
D 2020-07-07 16:38:36:946 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:36:955 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "https://ya.ru/"
}
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/screenshot {}
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "takeScreenshot", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "takeScreenshot", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing takeScreenshot command
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:36:972 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: takeScreenshot
D 2020-07-07 16:38:37:006 C:\Projects\webdriver\cpp\iedriver\CommandHandlers\ScreenshotCommandHandler.cpp(213) Size of screenshot image stream is 13673
D 2020-07-07 16:38:37:007 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for takeScreenshot complete
D 2020-07-07 16:38:37:008 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : "iVBORwAAATiEAAwAA8OvlG8DZrnlu3zxl2+ZX5wEAAOAUAjAAAAAAAADAIQRgAAAAAAAAgEMIwAAAAAAAAACHEIABAAAAAAAADiEAAwAAAAAAABxCAAYAAAAAAAA4hAAMAAAAAAAAcAgBGAAAAAAAAOAQAjAAAAAAAADAIQRgAAAAAAAAgEMIwAAAAAAAAACHEIABAAAAAAAADiEAAwAAAAAAABxCAAYAAAAAAAA4hAAMAAAAAAAAcAgBGAAAAAAAAOAQAjAAAAAAAADAIQRgAAAAAAAAgCN8fPwBY2euIJ7vjX8AAAAASUVORK5CYII="
}
D 2020-07-07 16:38:37:008 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:37:008 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "iVBORw0KAAMAAAAAAAAcAgBGAAAAAAAAOAQAjAAAAAAAADAIQRgAAAAAAAAgCN8fPwBY2euIJ7vjX8AAAAASUVORK5CYII="
}
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/title {}
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing getTitle command
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:012 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: getTitle
D 2020-07-07 16:38:37:013 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for getTitle complete
D 2020-07-07 16:38:37:014 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:014 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:37:035 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:036 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/title {}
D 2020-07-07 16:38:37:036 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:036 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:037 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing getTitle command
D 2020-07-07 16:38:37:037 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:037 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: getTitle
D 2020-07-07 16:38:37:038 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for getTitle complete
D 2020-07-07 16:38:37:038 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:038 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:37:056 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: GET /session/9a471056-fdf4-4144-a81d-5c3af00b3062/title {}
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "getTitle", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {} }
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing getTitle command
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:057 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: getTitle
D 2020-07-07 16:38:37:058 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for getTitle complete
D 2020-07-07 16:38:37:059 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(935) Setting serialized response to {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:059 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(936) Is waiting flag: 0
D 2020-07-07 16:38:37:075 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "\u042f\u043d\u0434\u0435\u043a\u0441"
}
D 2020-07-07 16:38:37:096 C:\Projects\webdriver\cpp\webdriver-server\server.cc(338) Command: POST /session/9a471056-fdf4-4144-a81d-5c3af00b3062/execute/sync {
  "script": "var source = document.documentElement.outerHTML; \nif (!source) { source = new XMLSerializer().serializeToString(document); }\nreturn source;",
  "args": [
  ]
}
D 2020-07-07 16:38:37:096 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "executeScript", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "script": "var source = document.documentElement.outerHTML; \nif (!source) { source = new XMLSerializer().serializeToString(document); }\nreturn source;",
  "args": [
  ]
} }
D 2020-07-07 16:38:37:097 C:\Projects\webdriver\cpp\webdriver-server\command.cc(36) Raw JSON command: { "name" : "executeScript", "locator" : { "sessionid" : "9a471056-fdf4-4144-a81d-5c3af00b3062" }, "parameters" : {
  "script": "var source = document.documentElement.outerHTML; \nif (!source) { source = new XMLSerializer().serializeToString(document); }\nreturn source;",
  "args": [
  ]
} }
D 2020-07-07 16:38:37:097 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(833) Checking for alert before executing executeScript command
D 2020-07-07 16:38:37:097 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:097 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(880) Executing command: executeScript
I 2020-07-07 16:38:37:097 C:\Projects\webdriver\cpp\iedriver\Browser.cpp(215) No child frame focus. Focus is on top-level frame
D 2020-07-07 16:38:37:132 C:\Projects\webdriver\cpp\iedriver\Script.cpp(462) Creating synchronization event for new thread
D 2020-07-07 16:38:37:132 C:\Projects\webdriver\cpp\iedriver\Script.cpp(482) Starting new thread
D 2020-07-07 16:38:37:132 C:\Projects\webdriver\cpp\iedriver\Script.cpp(491) Waiting for new thread to be ready for messages
D 2020-07-07 16:38:37:132 C:\Projects\webdriver\cpp\iedriver\Script.cpp(515) Marshaling document to stream to send to new thread
D 2020-07-07 16:38:37:133 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(883) Command execution for executeScript complete
D 2020-07-07 16:38:37:133 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(912) Awaiting completion of in-progress asynchronous JavaScript execution.
D 2020-07-07 16:38:37:133 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:156 C:\Projects\webdriver\cpp\iedriver\IECommandExecutor.cpp(1035) No alert handle is found
D 2020-07-07 16:38:37:176 C:\Projects\webdriver\cpp\webdriver-server\server.cc(421) Response: {
	"value" : "<html class=\"i-ua_js_yes i-ua_css_standart i-ua_browser_msie i-ua_browser-engine_trident i-ua_browser_desktop i-ua_platform_windows js i-ua_placeholder_yes i-ua_inlinesvg_yes m-svg i-ua_animation_yes i-ua_user-font-size_normal i-ua_user-font-size_16px i-ua_retina_no utilityfocus\" lang=\"ru\"><head xmlns:og=\"http://ogp.me/ns#\"><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"><title>\u042f\u043d\u0434\u0435\u043a\u0441</title><link href=\"//yastatic.net/iconostasis/_/8lFaTHLDzmsEZz-5XaQg9iTWZGE.png\" rel=\"shortcut icon\"><link href=\"//yastatic.net/iconostasis/_/5mdPq4V7ghRgzBvMkCaTzd2fjYg.png\" rel=\"apple-touch-icon\" sizes=\"76x76\"><link href=\"//yastatic.net/iconostasis/_/s-hGoCQMUosTziuARBks08IUxmc.png\" rel=\"apple-touch-icon\" sizes=\"120x120\"><link href=\"//yastatic.net/iconostasis/_/KnU823iWwj_vrPra7x9aQ-4yjRw.png\" rel=\"apple-touch-icon\" sizes=\"152x152\"><link href=\"//yastatic.net/iconostasis/_/wT9gfGZZ80sP0VsoR6dgDyXJf2Y.png\" rel=\"apple-touch-icon\" sizes=\"180x180\"><link title=\"\u041d\u043e\u0432\u043e\u0441\u0442\u0438 \u042f\u043d\u0434\u0435\u043a\u0441\u0430\" href=\"https://yandex.ru/company/press_releases/news.rss\" rel=\"alternate\" type=\"application/rss+xml\"><link title=\"\u0411\u043b\u043e\u0433 \u042f\u043d\u0434\u0435\u043a\u0441\u0430\" href=\"https://yandex.ru/blog/company/rss\" rel=\"alternate\" type=\"application/rss+xml\"><link title=\"\u042f\u043d\u0434\u0435\u043a\u0441\" href=\"//yandex.ru/opensearch.xml\" rel=\"search\" type=\"application/opensearchdescription+xml\"><meta name=\"description\" content=\"\u042f\u043d\u0434\u0435\u043a\u0441 - \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043f\u043e\u0440\u0442\u0430\u043b. \u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u043a\u0430\u0440\u0442\u044b \u0438 \u043d\u0430\u0432\u0438\u0433\u0430\u0442\u043e\u0440, \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442 \u0438 \u0442\u0430\u043a\u0441\u0438, \u043f\u043e\u0433\u043e\u0434\u0430, \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u043c\u0443\u0437\u044b\u043a\u0430, \u0442\u0435\u043b\u0435\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a, \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u0430 \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435. \u041d\u0430\u0439\u0434\u0435\u0442\u0441\u044f \u0432\u0441\u0451!\"><meta name=\"application-name\" content=\"\u042f\u043d\u0434\u0435\u043a\u0441\"><meta name=\"msapplication-name\" content=\"\u042f\u043d\u0434\u0435\u043a\u0441\"><meta name=\"msapplication-starturl\" content=\"https://ya.ru\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\"//yastatic.net/s3/home/logos/win8/medium_ya.png\"><meta name=\"msapplication-square70x70logo\" content=\"//yastatic.net/s3/home/logos/win8/small_ya.png\"><meta name=\"msapplication-square150x150logo\" content=\"//yastatic.net/s3/home/logos/win8/medium_ya.png\"><meta content=\"\u042f\u043d\u0434\u0435\u043a\u0441\" property=\"og:title\"><meta content=\"website\" property=\"og:type\"><meta content=\"//yastatic.net/s3/home/logos/share/share-logo_ru.png\" property=\"og:image\"><meta content=\"\u042f\u043d\u0434\u0435\u043a\u0441\" property=\"og:site_name\"><meta content=\"ru_RU\" property=\"og:locale\"><meta content=\"\u041d\u0430\u0439\u0434\u0451\u0442\u0441\u044f \u0432\u0441\u0451\" property=\"og:description\"><script>!function(i,t){if(i.Ya=i.Ya||{},Ya.Rum)throw new Error(\"Rum: interface is already defined\");var n=i.performance,e=n&&n.timing&&n.timing.navigationStart||Ya.startPageLoad||+new Date,s=i.requestAnimationFrame;Ya.Rum={enabled:!!n,vsStart:document.visibilityState,vsChanged:!1,_defTimes:[],_defRes:[],_deltaMarks:{},_markListeners:{},_settings:{},_vars:{},init:function(i,t){this._settings=i,this._vars=t},getTime:n&&n.now?function(){return n.now()}:Date.now?function(){return Date.now()-e}:function(){return new Date-e},time:function(i){this._deltaMarks[i]=[this.getTime()]},timeEnd:function(i,t){var n=this._deltaMarks[i];n&&0!==n.length&&n.push(this.getTime(),t)},sendTimeMark:function(i,t,n,e){void 0===t&&(t=this.getTime()),this._defTimes.push([i,t,e]),this.mark(i,t)},sendResTiming:function(i,t){this._defRes.push([i,t])},sendRaf:function(i){var t=this.getSetting(\"forceFirstPaintTimeSending\");if(s&&(t||!this.isVisibilityChanged())){var n=this,e=\"2616.\"+i;s((function(){!t&&n.isVisibilityChanged()||(n.sendTimeMark(e+\".205\"),s((function(){!t&&n.isVisibilityChanged()||n.sendTimeMark(e+\".1928\")})))}))}},isVisibilityChanged:function(){return this.vsStart&&(\"visible\"!==this.vsStart||this.vsChanged)},mark:n&&n.mark?function(i,t){n.mark(i+(t?\": \"+t:\"\"))}:function(){},getSetting:function(i){var t=this._settings[i];return null===t?null:t||\"\"},on:function(i,t){\"function\"==typeof t&&(this._markListeners[i]=this._markListeners[i]||[]).push(t)},sendTrafficData:function(){},finalizeLayoutShiftScore:function(){},finalizeLargestContentfulPaint:function(){}},document.addEventListener&&document.addEventListener(\"visibilitychange\",(function a(){Ya.Rum.vsChanged=!0,document.removeEventListener(\"visibilitychange\",a)}))}(window);!function(){\"use strict\";Ya.Rum.observeDOMNode=window.IntersectionObserver?function(e,i,n){var t=this,r=Ya.Rum.getSetting(\"forceFirstPaintTimeSending\");!function s(){if(r||!t.isVisibilityChanged()){var o=\"string\"==typeof i?document.querySelector(i):i;o?new IntersectionObserver((function(i,n){!r&&t.isVisibilityChanged()||(Ya.Rum.sendTimeMark(e),n.unobserve(o))}),n).observe(o):setTimeout(s,100)}}()}:function(){}}();!function(){\"use strict\";if(window.PerformanceLongTaskTiming){var e=function(e,n){return(e=e.concat(n)).length>300&&(e=e.slice(e.length-300)),e},n=Ya.Rum._tti={events:[],eventsAfterTTI:[],observer:new PerformanceObserver((function(t){var r=t.getEntries();n.events=e(n.events,r),n.fired&&(n.eventsAfterTTI=e(n.eventsAfterTTI,r))}))};n.observer.observe({entryTypes:[\"longtask\"]})}}();!function(){\"use strict\";var e,t=[];function n(){var n=Ya.Rum.getSetting(\"clck\"),i=t.join(\"\\r\\n\");if((t=[],e=null,n)&&!(navigator.sendBeacon&&Ya.Rum.getSetting(\"beacon\")&&navigator.sendBeacon(n,i))){var a=new XMLHttpRequest;a.open(\"POST\",n),a.send(i)}}Ya.Rum.send=function(i,a,o,s,r,u,g){clearTimeout(e);var c=function(e,t,n,i,a,o){var s=Ya.Rum.getSetting(\"slots\"),r=Ya.Rum.getSetting(\"experiments\");return[o?\"/\"+o.join(\"/\"):\"\",t?\"/path=\"+t:\"\",i?\"/events=\"+i:\"\",s?\"/slots=\"+s.join(\";\"):\"\",r?\"/experiments=\"+r.join(\";\"):\"\",n?\"/vars=\"+n:\"\",\"/cts=\"+(new Date).getTime(),\"/*\"]}(0,a,o,r,0,g);t.push(\"/reqid=\"+Ya.Rum.getSetting(\"reqid\")+c.join(\"\")),t.length<42?e=setTimeout(n,15):n()}}();Ya.Rum.init({\"beacon\":true,\"reqid\":\"1594129113.22916.99767.4711\",\"slots\":[],\"clck\":\"https://yandex.ru/clck/click\",\"sendStaticLocation\":false},{\"143\":\"28.15.523\",\"287\":\"10735\",\"1961\":0,\"1964\":0,\"1965\":0,\"-project\":\"morda\",\"-page\":\"yaru\",\"-platform\":\"desktop\",\"-env\":\"production\",\"-version\":\"2020-07-07-1\",\"-blocker\":\"\",\"-additional\":\"{}\"});Ya.Rum.observeDOMNode('2876','form.search2')</script><script>!function(n){if(!n.Ya||!Ya.Rum)throw new Error(\"Rum: interface is not defined\");var e=Ya.Rum;e.getSetting=function(n){var t=e._settings[n];return null===t?null:t||\"\"}}(\"undefined\"!=typeof self?self:window);!function(e,r){var n={client:[\"690.2354\",1e3,100,0],uncaught:[\"690.2361\",100,10,0],external:[\"690.2854\",100,10,0],script:[\"690.2609\",100,10,0]},t={};r.ERROR_LEVEL={INFO:\"info\",DEBUG:\"debug\",WARN:\"warn\",ERROR:\"error\",FATAL:\"fatal\"},r._errorSettings={clck:\"https://yandex.ru/clck/click\",beacon:!0,project:\"unknown\",page:\"\",env:\"\",experiments:[],additional:{},platform:\"\",region:\"\",dc:\"\",host:\"\",service:\"\",level:\"\",version:\"\",yandexuid:\"\",coordinates_gp:\"\",referrer:\"\",preventError:!1,unhandledRejection:!1,uncaughtException:!0,debug:!1,limits:{},silent:{},filters:{},pageMaxAge:864e6,initTimestamp:+new Date};var o=!1;function a(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n]);return e}function i(e){return\"boolean\"==typeof e&&(e=+e),\"number\"==typeof e?e+\"\":null}r.initErrors=function(n){a(r._errorSettings,n),!o&&r._errorSettings.uncaughtException&&(!function(){if(e.addEventListener)e.addEventListener(\"error\",s),\"Promise\"in e&&r._errorSettings.unhandledRejection&&e.addEventListener(\"unhandledrejection\",(function(e){var r,n=e.reason,t={};n&&(n.stack&&n.message?r=n.message:\"[object Event]\"===(r=String(n))?r=\"event.type: \"+n.type:\"[object Object]\"===r&&(t.unhandledObject=n),n.target&&n.target.src&&(t.src=n.target.src),s({message:\"Unhandled rejection: \"+r,stack:n.stack,additional:t}))}));else{var n=e.onerror;e.onerror=function(e,r,t,o,a){s({error:a||new Error(e||\"Empty error\"),message:e,lineno:t,colno:o,filename:r}),n&&n.apply(this,arguments)}}}(),o=!0)},r.updateErrors=function(e){a(r._errorSettings,e)},r._handleError=function(e,o){var a,i,s=r._errorSettings;if(s.preventError&&e.preventDefault&&e.preventDefault(),o)a=e,i=\"client\";else{a=r._normalizeError(e),i=a.type;var l=s.onError;\"function\"==typeof l&&l(a);var c=s.transform;\"function\"==typeof c&&(a=c(a))}var u=+new Date,d=s.initTimestamp,p=s.pageMaxAge;if(!(-1!==p&&d&&d+p<u)){var f=n[i][1];\"number\"==typeof s.limits[i]&&(f=s.limits[i]);var m=n[i][2];\"number\"==typeof s.silent[i]&&(m=s.silent[i]);var g=n[i][3];if(g<f||-1===f){a.path=n[i][0];var v=r._getErrorData(a,{silent:g<m||-1===m?\"no\":\"yes\",isCustom:Boolean(o)},s),h=function(e){t[a.message]=!1,r._sendError(e.path,e.vars),n[i][3]++}.bind(this,v);if(\"undefined\"==typeof s.throttleSend)h();else{if(t[a.message])return;t[a.message]=!0,setTimeout(h,s.throttleSend)}}}},r._getErrorData=function(r,n,t){n=n||{};var o=\"\";try{var s=a(a({},t.additional),r.additional);0!==Object.keys(s).length&&(o=JSON.stringify(s))}catch(u){t.debug&&e.console&&console.error(\"[error-counter] json.stringify:\",u)}var l=t.experiments instanceof Array?t.experiments.join(\";\"):\"\",c={\"-stack\":r.stack,\"-url\":r.file,\"-line\":r.line,\"-col\":r.col,\"-block\":r.block,\"-method\":r.method,\"-msg\":r.message,\"-env\":t.env,\"-external\":r.external,\"-externalCustom\":r.externalCustom,\"-project\":t.project,\"-service\":r.service||t.service,\"-page\":r.page||t.page,\"-platform\":t.platform,\"-level\":r.level,\"-experiments\":l,\"-version\":t.version,\"-region\":t.region,\"-dc\":t.dc,\"-host\":t.host,\"-yandexuid\":t.yandexuid,\"-coordinates_gp\":r.coordinates_gp||t.coordinates_gp,\"-referrer\":t.referrer,\"-source\":r.source,\"-sourceMethod\":r.sourceMethod,\"-type\":n.isCustom?r.type:\"\",\"-additional\":o,\"-adb\":i(Ya.blocker)||i(t.blocker),\"-cdn\":e.YaStaticRegion,\"-ua\":navigator.userAgent,\"-silent\":n.silent,\"-ts\":+new Date,\"-init-ts\":t.initTimestamp};return t.debug&&e.console&&console[console[r.level]?r.level:\"error\"](\"[error-counter] \"+r.message,c,r.stack),{path:r.path,vars:c}},r._baseNormalizeError=function(e){var r=(e=e||{}).filename||e.fileName||\"\",n=e.error&&e.error.stack||e.stack||\"\",t=e.message||\"\";return{file:r,line:e.lineno||e.lineNumber,col:e.colno||e.colNumber,stack:n,message:t,additional:e.additional}},r._normalizeError=function(e){var n=r._baseNormalizeError(e),t=\"uncaught\",o=r._isExternalError(n.file,n.message,n.stack),a=\"\",i=\"\";return o.hasExternal?(t=\"external\",a=o.common,i=o.custom):/^Script error\\.?$/.test(n.message)&&(t=\"script\"),n.external=a,n.externalCustom=i,n.type=t,n},r._sendError=function(e,n){r.send(null,e,function(e){var r=[];for(var n in e)e.hasOwnProperty(n)&&(e[n]||0===e[n])&&r.push(n+\"=\"+encodeURIComponent(e[n]).replace(/\\*/g,\"%2A\"));return r.join(\",\")}(n),null,null,null,null)};var s=function(e){r._handleError(e,!1)}}(\"undefined\"!=typeof self?self:window,Ya.Rum);!function(e){var r={url:{0:/(miscellaneous|extension)_bindings/,1:/^chrome:/,2:/kaspersky-labs\\.com\\//,3:/^(?:moz|chrome)-extension:\\/\\//,4:/^file:/,5:/^resource:\\/\\//,6:/webnetc\\.top/,7:/local\\.adguard\\.com/},message:{0:/__adgRemoveDirect/,1:/Content Security Policy/,2:/vid_mate_check/,3:/ucapi/,4:/Access is denied/i,5:/^Uncaught SecurityError/i,6:/__ybro/,7:/__show__deepen/,8:/ntp is not defined/,9:/Cannot set property 'install' of undefined/,10:/NS_ERROR/,11:/Error loading script/,12:/^TypeError: undefined is not a function$/,13:/__firefox__\\.(?:favicons|metadata|reader|searchQueryForField|searchLoginField)/},stack:{0:/(?:moz|chrome)-extension:\\/\\//,1:/adguard.*\\.user\\.js/i}};function n(e,r){if(e&&r){var n=[];for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];\"string\"==typeof i&&(i=new RegExp(i)),i instanceof RegExp&&i.test(e)&&n.push(o)}return n.join(\"_\")}}function o(e,o){var i,t=[];for(var s in r)r.hasOwnProperty(s)&&(i=n(e[s],o[s]))&&t.push(s+\"~\"+i);return t.join(\";\")}e._isExternalError=function(n,i,t){var s=e._errorSettings.filters||{},a={url:(n||\"\")+\"\",message:(i||\"\")+\"\",stack:(t||\"\")+\"\"},c=o(a,r),u=o(a,s);return{common:c,custom:u,hasExternal:!(!c&&!u)}}}(Ya.Rum);!function(){\"use strict\";var e;(e=Ya.Rum).logError=function(r,o){r=r||{},\"string\"!=typeof o&&void 0!==o||((o=new Error(o)).justCreated=!0);var a=r.message||\"\",s=e._baseNormalizeError(o);s.message&&(a&&(a+=\"; \"),a+=s.message),s.message=a||\"Empty error\";for(var t=[\"service\",\"source\",\"type\",\"block\",\"additional\",\"level\",\"page\",\"method\",\"sourceMethod\",\"coordinates_gp\"],i=0;i<t.length;i++){var n=t[i];r[n]?s[n]=r[n]:o&&o[n]&&(s[n]=o[n])}e._handleError(s,!0)}}();!function(){\"use strict\";var t;(t=Ya.Rum).logAjaxError=function(a,i,o,n){a.type=\"network\",a.additional=a.additional||{},\"timeout\"===o?a.additional.timeout=1:i.status&&(a.additional.status=i.status),t.logError(a,n)}}();Ya.Rum.initErrors({\"project\":\"morda\",\"page\":\"yaru\",\"platform\":\"desktop\",\"region\":\"10735\",\"env\":\"production\",\"version\":\"2020-07-07-1\",\"preventError\":false,\"unhandledRejection\":true,\"throttleSend\":0,\"host\":\"stable-morda-yaru-man-yp-4.man.yp-c.yandex.net\",\"yandexuid\":\"5200281161594128972\",\"referrer\":\"https://ya.ru/\",\"limits\":{\"client\":1000},\"silent\":{\"external\":3},\"filters\":{\"url\":{\"0\":\"suggest-ya.cgi\"}},\"blocker\":\"\"});</script><link href=\"//yastatic.net/s3/home-static/_/f/_/xlmJvPsesDjGyxuawnefwsQOI.css\" rel=\"stylesheet\"><script>function Detector(){\"use strict\";var e=document.documentElement;return{isPlaceholderSupported:function(){return\"placeholder\"in document.createElement(\"input\")},getCSS3TransformProperty:function(){for(var e=document.documentElement.style,t=[\"transform\",\"MozTransform\",\"MsTransform\",\"msTransform\",\"WebkitTransform\",\"OTransform\"],n=\"\",i=0,r=t.length;i<r;++i)if(e[t[i]]!==undefined){n=t[i];break}return this.getCSS3TransformProperty=function(){return n},n},checkDataURLSupport:function(e){var t=new Image;t.onload=t.onerror=function(){e(1===this.width&&1===this.height)},t.src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==\"},isActivexEnabled:function(){var e=!1;try{e=!!new window.ActiveXObject(\"htmlfile\")}catch(t){e=!1}return e},isWin64:function(){return window.navigator&&\"Win64\"===window.navigator.platform},isFullScreen:function(){return window.innerWidth&&window.screen&&window.screen.width&&window.screen.height&&window.innerHeight&&window.innerWidth===screen.width&&window.innerHeight===screen.height},isIEMetroMode:function(){return this.isFullScreen()&&this.isWin64()&&!this.isActivexEnabled()},isSVGSupported:function(){if(\"opera\"in window)return!1;var e=document.createElement(\"svg\");return e.innerHTML=\"<svg/>\",e.firstChild&&\"http://www.w3.org/2000/svg\"===e.firstChild.namespaceURI},isAnimationSupported:function(){if(\"opera\"in window)return!1;for(var e=document.documentElement.style,t=[\"animationName\",\"webkitAnimationName\"],n=0,i=t.length;n<i;n++)if(e[t[n]]!==undefined)return!0},getUserFontSize:function(){var t,n,i=[],r=\"i-ua_user-font-size_\",o=document.createElement(\"div\");return o.style.height=\"1em\",e.appendChild(o),t=parseInt(o.offsetHeight),e.removeChild(o),n=16===t?\"normal\":t<16?\"small\":\"large\",i.push(r+n),i.push(r+t+\"px\"),i.join(\" \")},isRetina:function(){return(\"devicePixelRatio\"in window?window.devicePixelRatio:1)>=1.25}}}function MyMap(){this.rules={},this.rulesData=[]}MyMap.prototype={add:function(e){return(e=e||null)&&!this.rules[e]&&(this.rulesData.push(e),this.rules[e]=this.rulesData.length-1),this},get:function(e){var t=this.rules[e];return t&&this.rulesData[t]||null},getAll:function(){return this.rulesData.join(\" \")}};var detector=new Detector;!function(){var e,t=new MyMap;t.add(\"js\").add(\"i-ua_placeholder_\"+(detector.isPlaceholderSupported()?\"yes\":\"no\")).add(detector.isIEMetroMode()&&\"m-ie10-metro\").add(detector.isSVGSupported()?\"i-ua_inlinesvg_yes m-svg\":\"i-ua_inlinesvg_no no-data-url\").add(detector.isAnimationSupported()&&\"i-ua_animation_yes\").add(this.device&&\"m-touch\").add(detector.getUserFontSize()).add(\"i-ua_retina_\"+(detector.isRetina()?\"yes\":\"no\")),detector.checkDataURLSupport((function(e){e||(document.documentElement.className+=\" no-data-url\")})),this.document&&this.document.documentElement&&((e=this.document.documentElement).className=e.className.replace(\"i-ua_js_no\",\"i-ua_js_yes\")+\" \"+t.getAll())}();</script><script src=\"https://mc.yandex.ru/metrika/watch.js\"></script></head><body class=\"b-page css3-transition-off\"><table class=\"b-table layout__table\"><tbody><tr class=\"b-table__row layout__header\"><td class=\"b-table__cell layout__header-cell\"><div class=\"personal i-bem personal_js_inited\" data-bem='{\"personal\":{\"authUrl\":\"https://yandex.ru/data/mail.js?yaru=y\",\"retpath\":\"https%3A%2F%2Fya.ru\",\"stat\":0}}'><a tabindex=\"3\" class=\"home-link b-inline link_logout home-link_black_yes\" href=\"https://mail.yandex.ru\" data-statlog=\"logout\"><div class=\"b-inline\">\u0412\u043e\u0439\u0442\u0438&nbsp;\u0432&nbsp;\u043f\u043e\u0447\u0442\u0443</div></a></div></td></tr><tr class=\"b-table__row layout__search\"><td class=\"b-table__cell\"><form class=\"search2 suggest2-form suggest2-form__node suggest2-counter i-bem suggest2-counter_js_inited suggest2-form_js_inited\" role=\"search\" aria-label=\"\u041f\u043e\u0438\u0441\u043a \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435\" action=\"https://yandex.ru/search/\" data-bem='{\"suggest2-form\":{},\"suggest2-counter\":{\"service\":\"morda_ru_desktop\",\"host\":\"//yandex.ru/clck\",\"path\":\"jclck\",\"submitBySelect\":true,\"preventSubmit\":true,\"suggestReqID\":true,\"params\":{\"dtype\":\"stred\",\"pid\":\"0\",\"cid\":\"2873\"}},\"search2\":{\"cleanOnSubmit\":false,\"nl\":true}}'><input name=\"msid\" type=\"hidden\" value=\"1594129113.22916.99767.4711\"><div class=\"search2__input\"><span class=\"input suggest2-form__input input_size_xl input_theme_websearch input_search2-clear-hide_yes input_autofocus_capture input_clear_yes i-bem input_focused_yes input_js_inited\" data-bem='{\"input\":{\"live\":false,\"autoFocus\":true}}'><span class=\"input__box\"><span class=\"input__clear\" unselectable=\"on\">&nbsp;</span><input name=\"text\" tabindex=\"2\" class=\"input__control input__input\" id=\"text\" spellcheck=\"false\" aria-autocomplete=\"list\" aria-label=\"\u0417\u0430\u043f\u0440\u043e\u0441\" maxlength=\"400\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\"></span></span></div><div class=\"search2__button\"><button tabindex=\"-1\" class=\"button suggest2-form__button button_theme_websearch button_size_xl i-bem\" role=\"button\" type=\"submit\" data-bem='{\"button\":{}}'><span class=\"button__text\">\u041d\u0430\u0439\u0442\u0438</span></button></div><div class=\"i-bem popup suggest2 suggest2-history suggest2_theme_transparent suggest2_size_m suggest2_adaptive_yes suggest2_type_advanced suggest2_ahead_yes suggest2_history_yes suggest2_rich_yes popup_adaptive_yes popup_animate_no popup_autoclosable_yes popup_no-return-focus_yes popup_theme_ffffff suggest2-detect_js_inited suggest2-history_js_inited suggest2_js_inited popup_js_inited\" data-bem='{\"popup\":{\"directions\":\"bottom-left\"},\"suggest2\":{\"url\":\"//yandex.ru/suggest/suggest-ya.cgi?srv=morda_ru_desktop&amp;wiz=TrWth&amp;uil=ru&amp;fact=1&amp;v=4&amp;icon=1&amp;lr=10735&amp;hl=1&amp;bemjson=1&amp;html=1&amp;platform=desktop&amp;rich_nav=1&amp;show_experiment=222&amp;show_experiment=224&amp;verified_nav=1&amp;rich_phone=1&amp;yu=5200281161594128972&amp;a=0&amp;sn=5\",\"onFocus\":\"show\",\"aheadFromServer\":true,\"submitBySelect\":true,\"requestOnEmptyInput\":false,\"deleteHistoryUrl\":\"//yandex.ru/suggest-delete-text?srv=morda_ru_desktop&amp;text_to_delete=\",\"viewMods\":{\"rich\":\"yes\"}},\"suggest2-detect\":{},\"suggest2-history\":{\"other\":[],\"running\":[]}}'><div class=\"popup__under\"></div><div class=\"popup__content\"> </div></div></form></td></tr><tr class=\"b-table__row layout__footer\"><td class=\"b-table__cell\"><a tabindex=\"6\" title=\"\u042f\u043d\u0434\u0435\u043a\u0441\" class=\"home-link layout__footer-logo\" href=\"//yandex.ru\"></a></td></tr></tbody></table><script>window.home=window.home||{};window.home['export']=JSON.parse(\"{\\\"common\\\":{\\\"click-href\\\":\\\"https://yandex.ru/clck/\\\"},\\\"statlog\\\":{\\\"config\\\":{\\\"statRoot\\\":\\\"\\\",\\\"showId\\\":\\\"1594129113.22916.99767.4711\\\",\\\"enabled\\\":false,\\\"redirHost\\\":\\\"https://yandex.ru/clck/\\\",\\\"clckDemonHost\\\":\\\"https://yandex.ru/clck/\\\",\\\"useBeacon\\\":0}},\\\"timing\\\":{\\\"reqid\\\":\\\"1594129113.22916.99767.4711\\\",\\\"exp\\\":\\\"\\\"},\\\"service-worker\\\":{\\\"mode\\\":\\\"off\\\",\\\"url\\\":\\\"/portal/service-worker/white/_yaru.js\\\"}}\");home.dataCallbacks&&home.dataCallbacks.forEach(function(callback){callback();});</script><script src=\"//yastatic.net/jquery/1.8.3/jquery.min.js\"></script><script src=\"//yastatic.net/s3/home-static/_/f/q/rQlLlk6pcP_esnNhSU8Gf74GE.js\"></script><script>BEM.DOM.scope=$('body');Lego.init({\"locale\":\"ru\",\"msid\":\"1594129113.22916.99767.4711\",\"jsMdaUrl\":\"\",\"click-host\":\"//yandex.ru/clck\",\"reqid\":\"1594129113.22916.99767.4711\",\"statRoot\":\"\",\"retpath\":\"https://mail.yandex.ru\"});BEM.channel('i-bem').trigger('start-init');BEM.DOM.init(function() {BEM.channel('i-bem').trigger('init');});</script><script type=\"text/javascript\">!function(e){\"use strict\";e.metrikaCounterInstances={};var t=document.createElement(\"script\"),n={\"src\":\"https://mc.yandex.ru/metrika/watch.js\"};for(var a in t.onload=function(){try{for(var t=[{\"id\":723233,\"trackLinks\":true}],n=0;n<t.length;n++){var a=t[n],o=e[\"yaCounter\"+a.id]=new Ya.Metrika(a);n||(e.defaultMetrikaCounter=o),e.metrikaCounterInstances[a.id]=o}}catch(d){}},n)n.hasOwnProperty(a)&&t.setAttribute(a,n[a]);var o=!1,d=function(){o||(o=!0,document.getElementsByTagName(\"head\")[0].appendChild(t))};\"complete\"===document.readyState||\"loading\"!==document.readyState&&!document.documentElement.doScroll?setTimeout(d,0):\"addEventListener\"in document?(document.addEventListener(\"DOMContentLoaded\",d,!1),document.addEventListener(\"load\",d,!1)):(window.attachEvent(\"onload\",d),window.attachEvent(\"onreadystatechange\",d))}(window);</script><noscript>&lt;img class=\"image a11y-hidden\" src=\"https://mc.yandex.ru/watch/723233\"/&gt;</noscript><!--noindex--><div class=\"page-info\" style=\"display: none;\">{\"static\":\"2020-07-07-1\",\"content\":\"yaru\",\"domain\":\"ru\"}</div><!--/noindex--><!--stable-morda-yaru-man-yp-4.man.yp-c.yandex.net--></body></html>"
}