Пример #1
0
        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);
        }
Пример #2
0
 public TenderTatar(string etpName, string etpUrl, int typeFz, TypeSetOnline tn) : base(etpName, etpUrl,
                                                                                        typeFz)
 {
     _tn        = tn;
     PlacingWay = tn.PwName;
 }