public static void Monitoring() { while(IsActiveMonitoring) { for (int j = 0; j < monitoringQuotes.Count; j++) // Цикл по котировкам, которые должны отслеживаться { for (int i = 0; i < browser1.WindowHandles.Count; i++) // Цикл по заголовкам вкладок { browser1.SwitchTo().Window(browser1.WindowHandles[i]); if (browser1.Title.Contains(monitoringQuotes[j])) { string pageCode = browser1.PageSource; //File.AppendAllText(monitoringQuotes[j] + new Random().Next(0, 31345).ToString() + ".txt", pageCode); string s1 = pageCode.Substring(pageCode.IndexOf("bid_"), 22); int k = s1.IndexOf("</"); string q = s1.Substring(s1.IndexOf("\">") + 2, k - s1.IndexOf("\">") - 2); if (Convert.ToDouble(q) == 0) // Если торговая сессия уже закрыта, получаем последнее значение котировки { string s2 = pageCode.Substring(pageCode.IndexOf("lst_"), 22); int k2 = s2.IndexOf("</"); string q2 = s2.Substring(s2.IndexOf("\">") + 2, k2 - s2.IndexOf("\">") - 2); quotes[monitoringQuotes[j]] = Convert.ToDouble(q2); //break; } quotes[monitoringQuotes[j]] = Convert.ToDouble(q); //break; } } } Thread.Sleep(3000); } }
Если смотреть в отладке переменную q2 для конкретной котировки(вкладки-названия страницы в браузере), то всё время одно значение, хотя в это же время смотришь в другом браузере - значение меняется.