/// <summary> /// Ищет кнопку "Задачи" в левом меню и переходит на страницу с задачами /// </summary> /// <param name="browser">Браузер, в котором выполняется анализ</param> private static void LoadTasksPage(DomContainer browser) { // Ищем кнопку "Задачи" Link tasksLink; do { browser.WaitForComplete(); tasksLink = browser.Links.FirstOrDefault(link => link.ClassName != null && link.ClassName.Contains("menu-item-link") && link.Children().FirstOrDefault(element => element != null && !string.IsNullOrEmpty(element.Text) && element.Text.Contains("Задачи")) != null); } while (tasksLink == null); Debug.Assert(tasksLink != null, "Кнопка Задачи не найдена"); tasksLink.Click(); browser.WaitForComplete(); Thread.Sleep(PageloadTimeout); }
/// <summary> /// Переход на указанный раздел страницы с задачами /// </summary> /// <param name="buttonText">Нужный раздел</param> /// <param name="browser">Браузер, в котором выполняется анализ</param> /// <remarks>buttonText - текст на кнопке с разделом. Например, "Делаю" или "Помогаю"</remarks> private static void LoadTasksSection(string buttonText, DomContainer browser) { var sectionLink = browser.Links.FirstOrDefault(link => link.ClassName.Contains("tasks-top-item") && link.Children().FirstOrDefault(elem => elem != null && elem.Text != null && elem.Text == buttonText) != null); Debug.Assert(sectionLink != null, "Кнопка " + buttonText + " не найдена"); sectionLink.Click(); browser.WaitForComplete(); Thread.Sleep(PageloadTimeout); }