public TenderNaftan(string etpName, string etpUrl, int typeFz, TypeNaftan tn, ChromeDriver driver) : base( etpName, etpUrl, typeFz) { _tn = tn; _driver = driver; }
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); }