private void ParsingPage(IWebElement t) { _driver.SwitchTo().DefaultContent(); var purName = t.FindElementWithoutException(By.XPath("./td[3]/div/a"))?.Text.Trim() ?? throw new Exception($"cannot find purName {t.Text}"); var href = t.FindElementWithoutException(By.XPath("./td[3]/div/a"))?.GetAttribute("href").Trim() ?? throw new Exception("cannot find href"); var datePubT = t.FindElementWithoutException(By.XPath("./td[6]/div"))?.Text.Trim() ?? throw new Exception("cannot find datePubT"); var datePub = datePubT.ParseDateUn("dd.MM.yyyy"); if (datePub == DateTime.MinValue) { Log.Logger("Empty datePub"); return; } var dateEndT = t.FindElementWithoutException(By.XPath("./td[7]/div"))?.Text.Replace("МСК", "").Trim() ?? throw new Exception("cannot find dateEndT"); var dateEnd = dateEndT.ParseDateUn("dd.MM.yyyy HH:mm"); if (dateEnd == DateTime.MinValue) { dateEnd = datePub.AddDays(2); } var orgName = t.FindElementWithoutException(By.XPath("./td[4]/div"))?.Text.Trim() ?? ""; var pwName = t.FindElementWithoutException(By.XPath("./td[2]/div"))?.Text.Trim() ?? ""; var nmcKt = t.FindElementWithoutException(By.XPath("./td[5]/div"))?.Text.Trim() ?? ""; var nmcK = GetPriceFromString(nmcKt); var currency = nmcKt.GetDataFromRegex(@"^[\d \.]+\s([\. \p{IsCyrillic}]+)\s"); if (currency == "") { currency = "руб."; } var tt = new TypeSetOnline { OrgName = orgName, DateEnd = dateEnd, DatePub = datePub, Href = href, PurNum = "", PurName = purName, PwName = pwName, Nmck = nmcK, Currency = currency }; var tn = new TenderTatar("АО «Центр развития закупок РТ»", "https://etpzakupki.tatar", 352, tt); ParserTender(tn); }
public TenderTatar(string etpName, string etpUrl, int typeFz, TypeSetOnline tn) : base(etpName, etpUrl, typeFz) { _tn = tn; PlacingWay = tn.PwName; }