Esempio n. 1
0
        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;
 }