Exemplo n.º 1
0
        public MatchDetails(string matchDate, int teamId, IWebDriver driver)
        {
            var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
            var teamUrl = "https://www.whoscored.com/Teams/" + teamId;

            driver.Navigate().GoToUrl(teamUrl);

            IWebElement fixturesButton = wait.Until(
                ExpectedConditions.ElementIsVisible(By.CssSelector(Selectors.GetSelector("FixturesButton"))));

            fixturesButton.Click();

            IEnumerable<IWebElement> matches = wait.Until(
                ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.CssSelector(Selectors.GetSelector("Fixtures"))));

            DateTime reqDate = DateTime.ParseExact(matchDate, "dd-MM-yy", CultureInfo.InvariantCulture);

            IWebElement matchElement = matches.
                FirstOrDefault(x => x.FindElement(By.CssSelector("td.date")).Text == reqDate.ToString("dd-MM-yyyy"));

            if (matchElement == null)
            {
                //todo: match not found, throw exception? log it to logger?
                return;
            }

            matchElement.FindElement(By.CssSelector(Selectors.GetSelector("MatchReport"))).Click();
            wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector(Selectors.GetSelector("Date"))));

            WhoScoredScraper.FillObject(this, driver);
            HomeTeamDetails = new Details(driver, "Home");
            AwayTeamDetails = new Details(driver, "Away");
        }
Exemplo n.º 2
0
        public Generator()
        {
            var scraper             = new WhoScoredScraper();
            var whoScoredRepository = new MatchDetailsRepository(scraper);
            var whoScoredService    = new WhoScoredService(whoScoredRepository);

            _whoScoredController = new WhoScoredController(whoScoredService);
        }
Exemplo n.º 3
0
        public Passes(IWebDriver driver, string prefix)
        {
            var         wait       = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
            IWebElement passButton = wait.Until(
                ExpectedConditions.ElementIsVisible(By.CssSelector(Selectors.GetSelector("PassTypesButton"))));

            passButton.Click();
            wait.Until(
                ExpectedConditions.ElementIsVisible(By.CssSelector(Selectors.GetSelector("PassesTotal" + prefix))));
            WhoScoredScraper.FillObject(this, driver, prefix);
        }
Exemplo n.º 4
0
 public MatchDetailsRepository(WhoScoredScraper scraper)
 {
     _scraper = scraper;
 }
Exemplo n.º 5
0
 public MatchStats(IWebDriver driver, string prefix)
 {
     WhoScoredScraper.FillObject(this, driver, prefix);
 }