Exemplo n.º 1
0
        private static List <string> AdWordsText(SharpQuery sq)
        {
            var directText1 = sq.Find("#tads h3 a")
                              .Select(x => RepaceHref(x.OuterHtml));
            var directText2 = sq.Find("#tads span.ac").Select(x => x.InnerHtml);
            var directText3 = sq.Find("#tads cite").Select(x => x.InnerHtml);
            var adWords     =
                directText1.Zip(directText2.Zip(directText3, (x, y) => x + "<br/>" + y), (x, y) => x + "<br/>" + y)
                .ToList();

            return(adWords);
        }
Exemplo n.º 2
0
        private static List <string> DirectText(SharpQuery sq)
        {
            var directText1 = sq.Find("div.b-spec-adv a.b-serp-item__title-link")
                              .Select(x => x.OuterHtml);
            var directText2 = sq.Find("div.b-spec-adv div.b-serp-item__text")
                              .Select(x => x.InnerHtml);
            var directText3 = GetSites(sq);
            var directText  =
                directText1.Zip(directText2.Zip(directText3, (x, y) => x + "<br/>" + y), (x, y) => x + "<br/>" + y)
                .ToList();

            return(directText);
        }
Exemplo n.º 3
0
        private static void ImageFix()
        {
            var tests = new SpecialistTestDataContext().Tests.ToList();

            foreach (var test in tests)
            {
                var query = new SharpQuery("<div>" + test.Description + "</div>");
                var imgs  = query.Find("img");
                if (imgs.Length == 0)
                {
                    continue;
                }

                var scr = imgs.Attr("src");
                var url = scr;
                if (!url.Contains("http"))
                {
                    url = "http://test.specialist.ru" + url;
                }
                var ext   = Path.GetExtension(scr);
                var image = GetImage(url);
                if (image != null)
                {
                    image.Save(test.Id + ext);
                }
            }
        }
Exemplo n.º 4
0
        public void Should_use_sharpquery_find_when_indexer_invoked()
        {
            var query = new SharpQuery(@"<html><head></head><body><div id='testId' class='myClass'>Test</div></body></html>");
            var queryResult = query.Find("#testId").FirstOrDefault();
            QueryWrapper wrapper = query;

            var result = (HtmlNode)wrapper["#testId"].FirstOrDefault();

            Assert.NotNull(result);
            Assert.Same(queryResult, result);
        }
Exemplo n.º 5
0
        public void Should_use_sharpquery_find_when_indexer_invoked()
        {
            var          query       = new SharpQuery(@"<html><head></head><body><div id='testId' class='myClass'>Test</div></body></html>");
            var          queryResult = query.Find("#testId").FirstOrDefault();
            QueryWrapper wrapper     = query;

            var result = (HtmlNode)wrapper["#testId"].FirstOrDefault();

            Assert.NotNull(result);
            Assert.Same(queryResult, result);
        }
    public void HudIsReturned()
    {
      var browser = new Browser(new TestBootstrapper());
      var response = browser.Get("/_cassette", with => with.HttpRequest());
      Console.Write(response.Body.AsString());

      var query = new SharpQuery(response.Body.AsString());
      var title = query.Find("head title").First();

      Assert.That(title, Is.Not.Null);

    }
        public void HudIsReturned()
        {
            var browser  = new Browser(new NonOptimizingBootstrapper());
            var response = browser.Get("/_cassette", with => with.HttpRequest());

            Console.Write(response.Body.AsString());

            var query = new SharpQuery(response.Body.AsString());
            var title = query.Find("head title").First();

            Assert.That(title, Is.Not.Null);
        }
    public void JsFileIsReturned()
    {
      var browser = new Browser(new NonOptimizingBootstrapper());
      var response = browser.Get("/RazorHome", with => with.HttpRequest());
      Console.Write(response.Body.AsString());

      var query = new SharpQuery(response.Body.AsString());
      var url = query.Find("body script[src^='/_cassette/asset/Scripts/lib/underscore.js?']").Attr("src");
      
      response = browser.Get(url, with => with.HttpRequest());
      Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
      Console.Write(response.Body.AsString());
    }
    public void SassFileIsReturned()
    {
      var browser = new Browser(new NonOptimizingBootstrapper());
      var response = browser.Get("/RazorHome", with => with.HttpRequest());
      Console.Write(response.Body.AsString());

      var query = new SharpQuery(response.Body.AsString());
      var url = query.Find("head link[href^='/_cassette/asset/Styles/Main.sass?']").Attr("href");

      response = browser.Get(url, with => with.HttpRequest());
      Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
      Console.Write(response.Body.AsString());
    } 
        public void CoffeeFileIsReturned()
        {
            var browser  = new Browser(new NonOptimizingBootstrapper());
            var response = browser.Get("/RazorHome", with => with.HttpRequest());

            Console.Write(response.Body.AsString());

            var query = new SharpQuery(response.Body.AsString());
            var url   = query.Find("body script[src^='/_cassette/asset/Scripts/app/layout.coffee?']").Attr("src");

            response = browser.Get(url, with => with.HttpRequest());
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Console.Write(response.Body.AsString());
        }
    public void BundleIsReturned(string location, string element, string attribute, string urlFragmet)
    {
      var browser = new Browser(new OptimizingBootstrapper());
      var response = browser.Get("/RazorHome", with => with.HttpRequest());
      Console.Write(response.Body.AsString());
      
      var query = new SharpQuery(response.Body.AsString());

      var url = query.Find(string.Format("{0} {1}[{2}^='{3}']", location, element, attribute, urlFragmet)).Attr(attribute);
      
      response = browser.Get(url, with => with.HttpRequest());
      Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
      Console.Write(response.Body.AsString());
    }
        public void SassFileIsReturned()
        {
            var browser  = new Browser(new NonOptimizingBootstrapper());
            var response = browser.Get("/RazorHome", with => with.HttpRequest());

            Console.Write(response.Body.AsString());

            var query = new SharpQuery(response.Body.AsString());
            var url   = query.Find("head link[href^='/_cassette/asset/Styles/Main.sass?']").Attr("href");

            response = browser.Get(url, with => with.HttpRequest());
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Console.Write(response.Body.AsString());
        }
Exemplo n.º 13
0
        public void BundleIsReturned(string location, string element, string attribute, string urlFragmet)
        {
            var browser  = new Browser(new OptimizingBootstrapper());
            var response = browser.Get("/RazorHome", with => with.HttpRequest());

            Console.Write(response.Body.AsString());

            var query = new SharpQuery(response.Body.AsString());

            var url = query.Find(string.Format("{0} {1}[{2}^='{3}']", location, element, attribute, urlFragmet)).Attr(attribute);

            response = browser.Get(url, with => with.HttpRequest());
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Console.Write(response.Body.AsString());
        }
Exemplo n.º 14
0
        public static SeCompetitor GetYandexCompetitors(int phraseId)
        {
            var phrase       = Phrases.YandexCompetitors[phraseId];
            var yandexPage   = GetHtml(yandex.FormatWith(phrase)).Remove(anonym);
            var sq           = new SharpQuery(yandexPage);
            var directText   = DirectText(sq);
            var onSearchText = sq.Find("div.b-body-items a.b-serp-item__title-link")
                               .Select(x => x.OuterHtml).ToList();

            var googlePage = GetHtml(google.FormatWith(phrase));

            sq = new SharpQuery(googlePage);
            var adWords      = AdWordsText(sq);
            var googleSearch = sq.Find("h3.r a.l")
                               .Select(x => x.OuterHtml).ToList();

            return(new SeCompetitor(DateTime.Today, phraseId,
                                    directText,
                                    onSearchText,
                                    adWords,
                                    googleSearch
                                    ));
        }
Exemplo n.º 15
0
 private static List <string> GetSites(SharpQuery sq)
 {
     return(sq.Find("div.b-spec-adv div.b-serp-url span.b-serp-url__item").Select(x => x.InnerText)
            .Where(x => !x.Contains("Адрес") && !x.Contains("Москва")).ToList());
 }
 private string GetSourceAlias(string pageContent)
 {
     var sq = new SharpQuery(pageContent);
     var xe = sq.Find("input#sourceAlias-login");
     return xe.FirstOrDefault().Attributes["value"].InnerText;
 }
 private string GetCSRFToken(string pageContent)
 {
     var sq = new SharpQuery(pageContent);
     var xe = sq.Find("input#csrfToken-login");
     return xe.FirstOrDefault().Attributes["value"].InnerText;
 }