Exemplo n.º 1
0
 public TenderNaftan(string etpName, string etpUrl, int typeFz, TypeNaftan tn, ChromeDriver driver) : base(
         etpName, etpUrl,
         typeFz)
 {
     _tn     = tn;
     _driver = driver;
 }
Exemplo n.º 2
0
        private void ParsingPage(IWebElement t)
        {
            _driver.SwitchTo().DefaultContent();
            var purName =
                t.FindElement(By.XPath("(.//h5/strong)[last()]"))
                ?.Text.Trim();
            var href = t
                       .FindElement(By.XPath(".//h4/a"))
                       ?.GetAttribute("href").Trim();
            var tmpPurNum =
                t.FindElementWithoutException(By.XPath(".//h4/a"))?.Text
                .Trim() ?? throw new Exception($"bad tmpPurNum {href}");
            var purNum = tmpPurNum.GetDataFromRegex(@"№\s*([\d-]+)\b");

            if (purNum == "")
            {
                throw new Exception($"cannot find purNum {tmpPurNum}");
            }

            var datePubTmp = t.FindElement(By.XPath(".//div[@class = 'details']/span"))
                             ?.Text.Trim();
            var datePub = datePubTmp.ParseDateUn("dd.MM.yyyy");

            if (datePub == DateTime.MinValue)
            {
                Log.Logger("Empty datePub");
                return;
            }

            var dateEndTmp = t.FindElement(By.XPath(".//p/span[@class = 'fs-small']"))
                             ?.Text.Trim();

            var(tm, dt) = dateEndTmp.GetTwoDataFromRegex(@"(\d{2}:\d{2}).+(\d{2}\.\d{2}\.\d{4})");
            var dateEnd = $"{dt} {tm}".ParseDateUn("dd.MM.yyyy HH:mm");

            if (dateEnd == DateTime.MinValue)
            {
                Log.Logger("Empty dateEnd");
                dateEnd = datePub.AddDays(2);
            }

            var tt = new TypeNaftan
            {
                DateEnd = dateEnd, DatePub = datePub, Href = href, PurName = purName, PurNum = purNum
            };
            var tn = new TenderNaftan("ОАО «Нафтан»", "http://www.naftan.by/", 118, tt, _driver);

            _listTenders.Add(tn);
        }