private void ParsingPage(IWebElement t) { _driver.SwitchTo().DefaultContent(); var purName = t.FindElement(By.XPath(".//div[@class = 'b-tender__title _wide']/a")) ?.Text.Trim(); if (string.IsNullOrEmpty(purName)) { Log.Logger("Empty purNum"); return; } var href = t .FindElement(By.XPath(".//div[@class = 'b-tender__title _wide']/a")) ?.GetAttribute("href").Trim(); if (string.IsNullOrEmpty(href)) { Log.Logger("Empty href"); return; } var purNum = href.GetDataFromRegex(@"(\d+)/$"); if (string.IsNullOrEmpty(purNum)) { Log.Logger("Empty purNum"); return; } var datePubTmp = t.FindElement(By.XPath(".//div[. = 'Опубликован']/following-sibling::div")) ?.Text.Trim(); var myCultureInfo = new CultureInfo("ru-RU"); var datePub = DateTime.Parse(datePubTmp, myCultureInfo); if (datePub == DateTime.MinValue) { Log.Logger("Empty datePub"); return; } var dateEndTmp = t.FindElement(By.XPath(".//div[. = 'Крайний срок приема заявок:']/following-sibling::div")) ?.Text.Trim(); var dateEnd = DateTime.Parse(dateEndTmp, myCultureInfo); if (dateEnd == DateTime.MinValue) { dateEnd = datePub.AddDays(2); } var status = t.FindElement(By.XPath(".//div[contains(@class, 'tendercart-type__status-public')]")) ?.Text.Trim(); var nmck = t.FindElement(By.XPath(".//div[@class = 'b-tender__info-item-text']")) ?.Text.Trim().DelAllWhitespace(); nmck = nmck.GetDataFromRegex(@"(\d+)$"); var tt = new TypeWorcspace { DateEnd = dateEnd, DatePub = datePub, Href = href, PurName = purName, PurNum = purNum, Status = status, Nmck = nmck }; var tn = new TenderWorkspace("WORKSPACE", "https://workspace.ru/", 316, tt); _listTenders.Add(tn); }
public TenderWorkspace(string etpName, string etpUrl, int typeFz, TypeWorcspace tn) : base(etpName, etpUrl, typeFz) { _tn = tn; }