Esempio n. 1
0
        private YandexPage GetResultPage(QueryElement query, IWebDriver driver, RegionElement region)
        {
            //var driver = WebDriverProvider.GetWebDriver();
            var yaPage = new YandexPage(driver, query, region);

            //driver.Close();
            return(yaPage);
        }
Esempio n. 2
0
 private ReportRow GetRow(YandexPage yandexPage, List <CompanyAdverisment> companies)
 {
     return(new ReportRow()
     {
         QueryName = yandexPage.Query,
         Frequency = yandexPage.Frequency,
         QueryGroup = yandexPage.QueryGroup,
         AdvertismentCount = yandexPage.AdvertisementResultItems.Count,
         Companies = companies.Where(_ => _.Advertisments.ContainsKey(yandexPage.Query)).ToList()
     });
 }
Esempio n. 3
0
        private string GetRow(YandexPage yaPage, CompanyAdverisment company, int rowNum)
        {
            var result = _htmlRowTemplate.ToString();

            ReplaceMarker(ref result, "RowNum", rowNum.ToString());
            ReplaceMarker(ref result, "QueryText", yaPage.Query);
            ReplaceMarker(ref result, "Region", _region != null ? _region.Region : "");
            ReplaceMarker(ref result, "Frequency", yaPage.Frequency);
            ReplaceMarker(ref result, "CompanyName", company.CompanyName);

            var adv = company.Advertisments.ContainsKey(yaPage.Query) ? company.Advertisments[yaPage.Query] : null;

            if (adv != null)
            {
                ReplaceMarker(ref result, "TitleLink", adv.TitleLink);
                ReplaceMarker(ref result, "TitleLinkLength", adv.TitleLinkWithoutCompanyUrl.Length.ToString());

                ReplaceMarker(ref result, "TextAdvertisment", adv.TextAdvertisment);
                ReplaceMarker(ref result, "TextAdvertismentLength", adv.TextAdvertisment.Length.ToString());

                for (int i = 0; i < 4; i++)
                {
                    var isLinkExists = adv.FastLinks.Count > i;

                    var linknum = i + 1;
                    ReplaceMarker(ref result, "FastLink" + linknum, isLinkExists ? adv.FastLinks[i] : "");
                    ReplaceMarker(ref result, "FastLinkLength" + linknum, isLinkExists ? adv.FastLinks[i].Length.ToString() : "");
                }

                ReplaceMarker(ref result, "FastLinkTotal", adv.FastLinks.Sum(_ => _.Length).ToString());


                var graySpecifications        = string.Join(" | ", adv.GraySpecifications.ToArray());
                var graySpecificationsLengths = string.Join(" | ", adv.GraySpecifications.Select(s => s.Length).ToArray());
                var graySpecificationsTotal   = adv.GraySpecifications.Sum(_ => _.Length);
                ReplaceMarker(ref result, "GraySpecifications", graySpecifications);
                ReplaceMarker(ref result, "GraySpecificationsLengths", graySpecificationsLengths);
                ReplaceMarker(ref result, "GraySpecificationsTotal", graySpecificationsTotal.ToString());

                ReplaceMarker(ref result, "YandexBuisenessCard", adv.YandexBuisenessCard ? "Да" : "Нет");
                ReplaceMarker(ref result, "GreenUrl", adv.GreenUrl ? "Да(" + adv.TitleUrl + ")" : "Нет");
                ReplaceMarker(ref result, "IsUtm", adv.IsUtm);
                ReplaceMarker(ref result, "YandexMarket", adv.YandexMarket);
            }
            else
            {
                ReplaceMarker(ref result, "TitleLink", "");
                ReplaceMarker(ref result, "TitleLinkLength", "");
                ReplaceMarker(ref result, "TextAdvertisment", "");
                ReplaceMarker(ref result, "TextAdvertismentLength", "");

                for (int i = 0; i < 4; i++)
                {
                    var linknum = i + 1;
                    ReplaceMarker(ref result, "FastLink" + linknum, "");
                    ReplaceMarker(ref result, "FastLinkLength" + linknum, "");
                }

                ReplaceMarker(ref result, "FastLinkTotal", "");
                ReplaceMarker(ref result, "GraySpecifications", "");
                ReplaceMarker(ref result, "GraySpecificationsLengths", "");
                ReplaceMarker(ref result, "GraySpecificationsTotal", "");
                ReplaceMarker(ref result, "YandexBuisenessCard", "");
                ReplaceMarker(ref result, "GreenUrl", "");
                ReplaceMarker(ref result, "IsUtm", "");
                ReplaceMarker(ref result, "YandexMarket", "");
            }
            return(result);
        }
Esempio n. 4
0
        public void Test2()
        {
            var page = new YandexPage(browser);

            page.SearchDiv.SearchField.InsertText("кошка");
        }
Esempio n. 5
0
        private string GetRow(YandexPage yaPage, CompanyAdverisment company, int rowNum)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<tr class='green'>");

            sb.AppendFormat("<td>{0}</td>", rowNum);
            sb.AppendFormat("<td>{0}</td>", yaPage.Query);
            sb.AppendFormat("<td>{0}</td>", "");
            sb.AppendFormat("<td>{0}</td>", yaPage.Frequency);
            sb.AppendFormat("<td>{0}</td>", company.CompanyName);
            sb.AppendLine("</tr>");
            //colspan="3">



            var adv = company.Advertisments.ContainsKey(yaPage.Query) ? company.Advertisments[yaPage.Query] : null;

            if (adv != null)
            {
                sb.AppendFormat("<tr><td colspan='5' class='bold'>Объявления</td></tr>");
                sb.AppendFormat("<tr><td colspan='4'>{0}</td><td colspan='1'>{1}</td></tr>", adv.TitleLink,
                                adv.TitleLink.Length);
                sb.AppendFormat("<tr><td colspan='4'>{0}</td><td colspan='1'>{1}</td></tr>", adv.TextAdvertisment,
                                adv.TextAdvertisment.Length);
                sb.AppendFormat("<tr><td colspan='5' class='bold'>Быстрые ссылки. С1(30). Всего(66)</td></tr>");

                if (adv.FastLinks.Count == 0)
                {
                    sb.AppendFormat("<tr><td colspan='5'>Быстрых ссылок нет</td></tr>");
                }
                else
                {
                    foreach (var fastLink in adv.FastLinks)
                    {
                        sb.AppendFormat("<tr><td colspan='4'>{0}</td><td colspan='1'>{1}</td></tr>", fastLink,
                                        fastLink.Length);
                    }
                    sb.AppendFormat("<tr><td colspan='4'>Всего(66)</td><td colspan='1'>{0}</td></tr>",
                                    adv.FastLinks.Sum(_ => _.Length));
                }

                sb.AppendFormat("<tr><td colspan='5' class='bold'>Уточнения. У1(25). Всего(66)</td></tr>");
                if (adv.GraySpecifications.Count == 0)
                {
                    sb.AppendFormat("<tr><td colspan='5'>уточнений нет</td></tr>");
                }
                else
                {
                    foreach (var spec in adv.GraySpecifications)
                    {
                        sb.AppendFormat("<tr><td colspan='4'>{0}</td><td colspan='1'>{1}</td></tr>", spec, spec.Length);
                    }
                    sb.AppendFormat("<tr><td colspan='4'>Всего(66)</td><td colspan='1'>{0}</td></tr>",
                                    adv.GraySpecifications.Sum(_ => _.Length));
                }

                sb.AppendFormat("<tr><td colspan='4'>Наличие Яндекс визитки</td><td colspan='1'>{0}</td></tr>",
                                adv.YandexBuisenessCard ? "Да" : "Нет");

                sb.AppendFormat("<tr><td colspan='4'>Наличие отображаемой ссылки</td><td colspan='1'>{0}</td></tr>",
                                adv.GreenUrl ? "Да(" + adv.TitleUrl + ")" : "Нет");

                sb.AppendFormat("<tr><td colspan='4'>Наличие отображаемой ссылки</td><td colspan='1'>{0}</td></tr>",
                                adv.GreenUrl ? "Да(" + adv.TitleUrl + ")" : "Нет");

                sb.AppendFormat("<tr><td colspan='4'>Наличие yclid и utm</td><td colspan='1'>{0}</td></tr>",
                                adv.IsUtm);

                sb.AppendFormat("<tr><td colspan='4'>YandexMarket</td><td colspan='1'>{0}</td></tr>",
                                adv.YandexMarket);
            }
            else
            {
                sb.AppendFormat("<tr><td colspan='5' class='bold'>Предложений нет</td></tr>");
            }
            return(sb.ToString());
        }