public Classificacao ObterClassificacao()
        {
            DateTime           dataCarga    = DateTime.Now;
            List <Conferencia> conferencias = new List <Conferencia>();

            Classificacao classificacao = new Classificacao();

            classificacao.id             = $"NBA {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";
            classificacao.NomeCampeonato = "NBA";
            classificacao.Temporada      = _driver
                                           .FindElement(By.ClassName("automated-header"))
                                           .FindElement(By.TagName("h1"))
                                           .Text.Split(new char[] { ' ' }).Last();
            classificacao.Esporte      = "Basquete";
            classificacao.Pais         = "Estados Unidos";
            classificacao.DataExtracao = DateTime.Now;
            classificacao.Conferencias = conferencias;

            var dadosConferencias = _driver
                                    .FindElements(By.ClassName("responsive-table-wrap"));
            var captions = _driver
                           .FindElements(By.ClassName("table-caption"));

            for (int i = 0; i < captions.Count; i++)
            {
                var         caption     = captions[i];
                Conferencia conferencia = new Conferencia();
                conferencia.Nome =
                    caption.FindElement(By.ClassName("long-caption")).Text;
                conferencias.Add(conferencia);

                int posicao      = 0;
                var conf         = dadosConferencias[i];
                var dadosEquipes = conf.FindElement(By.TagName("tbody"))
                                   .FindElements(By.TagName("tr"));
                foreach (var dadosEquipe in dadosEquipes)
                {
                    var estatisticasEquipe =
                        dadosEquipe.FindElements(By.TagName("td"));

                    posicao++;
                    Equipe equipe = new Equipe();
                    equipe.Posicao = posicao;
                    equipe.Nome    =
                        estatisticasEquipe[0].FindElement(
                            By.ClassName("team-names")).GetAttribute("innerHTML");
                    equipe.Vitorias = Convert.ToInt32(
                        estatisticasEquipe[1].Text);
                    equipe.Derrotas = Convert.ToInt32(
                        estatisticasEquipe[2].Text);
                    equipe.PercentualVitorias =
                        estatisticasEquipe[3].Text;

                    conferencia.Equipes.Add(equipe);
                }
            }

            return(classificacao);
        }
        public List <Conferencia> ObterClassificacao()
        {
            DateTime           dataCarga    = DateTime.Now;
            List <Conferencia> conferencias = new List <Conferencia>();

            string temporada = _driver
                               .FindElement(By.ClassName("automated-header"))
                               .FindElement(By.TagName("h1"))
                               .Text.Split(new char[] { ' ' }).Last();

            var dadosConferencias = _driver
                                    .FindElements(By.ClassName("responsive-table-wrap"));
            var captions = _driver
                           .FindElements(By.ClassName("table-caption"));

            for (int i = 0; i < captions.Count; i++)
            {
                var         caption     = captions[i];
                Conferencia conferencia = new Conferencia();
                conferencia.Temporada = temporada;
                conferencia.DataCarga = dataCarga;
                conferencia.Nome      =
                    caption.FindElement(By.ClassName("long-caption")).Text;
                conferencias.Add(conferencia);

                int posicao      = 0;
                var conf         = dadosConferencias[i];
                var dadosEquipes = conf.FindElement(By.TagName("tbody"))
                                   .FindElements(By.TagName("tr"));
                foreach (var dadosEquipe in dadosEquipes)
                {
                    var estatisticasEquipe =
                        dadosEquipe.FindElements(By.TagName("td"));

                    posicao++;
                    Equipe equipe = new Equipe();
                    equipe.Posicao = posicao;
                    equipe.Nome    =
                        estatisticasEquipe[0].FindElement(
                            By.ClassName("team-names")).GetAttribute("innerHTML");
                    equipe.Vitorias = Convert.ToInt32(
                        estatisticasEquipe[1].Text);
                    equipe.Derrotas = Convert.ToInt32(
                        estatisticasEquipe[2].Text);
                    equipe.PercentualVitorias =
                        estatisticasEquipe[3].Text;

                    conferencia.Equipes.Add(equipe);
                }
            }

            return(conferencias);
        }
Ejemplo n.º 3
0
        public Classificacao ObterClassificacao()
        {
            DateTime           dataCarga    = DateTime.Now;
            List <Conferencia> conferencias = new List <Conferencia>();

            Classificacao classificacao = new Classificacao();

            classificacao.id             = $"NBA {dataCarga.ToString("yyyy-MM-dd HH:mm:ss")}";
            classificacao.NomeCampeonato = "NBA";

            int anoInicial;
            int anoFinal;

            if (dataCarga.Month >= 10)
            {
                anoInicial = dataCarga.Year;
                anoFinal   = anoInicial + 1;
            }
            else
            {
                anoFinal   = dataCarga.Year;
                anoInicial = anoFinal - 1;
            }

            classificacao.Temporada    = anoInicial + " " + anoFinal;
            classificacao.Esporte      = "Basquete";
            classificacao.Pais         = "Estados Unidos";
            classificacao.DataExtracao = DateTime.Now;
            classificacao.Conferencias = conferencias;

            var dadosConferencias = _driver
                                    .FindElements(By.ClassName("standings__order-conference"));
            var captions = _driver
                           .FindElements(By.ClassName("standings__header"));

            for (int i = 0; i < captions.Count; i++)
            {
                var         caption     = captions[i];
                Conferencia conferencia = new Conferencia();
                conferencia.Nome =
                    caption.FindElement(By.TagName("span")).Text;
                conferencias.Add(conferencia);

                int posicao      = 0;
                var conf         = dadosConferencias[i];
                var dadosEquipes = conf.FindElement(By.TagName("tbody"))
                                   .FindElements(By.TagName("tr"));
                foreach (var dadosEquipe in dadosEquipes)
                {
                    posicao++;
                    Equipe equipe = new Equipe();
                    equipe.Posicao = posicao;

                    equipe.Nome = dadosEquipe.FindElement(
                        By.TagName("th")).Text;

                    var estatisticasEquipe = dadosEquipe.FindElements(
                        By.TagName("td"));

                    equipe.Vitorias = Convert.ToInt32(
                        ExtrairEstatistica(estatisticasEquipe[0].Text));
                    equipe.Derrotas = Convert.ToInt32(
                        ExtrairEstatistica(estatisticasEquipe[1].Text));
                    equipe.PercentualVitorias =
                        ExtrairEstatistica(estatisticasEquipe[2].Text);

                    conferencia.Equipes.Add(equipe);
                }
            }

            return(classificacao);
        }