public void GenerateRankings() { foreach (var path in TeamPaths) { _driver.Navigate().GoToUrl(path); _driver.FindElement(By.XPath("//div[@id='playerTableHeader']/ul/li[4]")).Click(); var postDraftRankings = new List <PostDraftRanking>(); Thread.Sleep(1000); var playerElements = _driver.FindElements(By.XPath("//tr[contains(@class, 'pncPlayerRow')]")); foreach (var playerElement in playerElements) { var position = playerElement.FindElement(By.XPath("./td[1]")).Text; var teamNameElementString = _driver.FindElement(By.XPath("//h3[@class='team-name']")).Text.Trim(); var teamName = teamNameElementString.Substring(0, teamNameElementString.IndexOf(" (")); if (position != "IR") { var postDraftRanking = new PostDraftRanking(); postDraftRanking.TeamName = teamName; if (playerElement.FindElements(By.XPath("./td[@class='playertablePlayerName']")).Count > 0) { postDraftRanking.PlayerPosition = position; postDraftRanking.PlayerName = playerElement.FindElement(By.XPath("./td[@class='playertablePlayerName']")).Text; var projectedPoints = playerElement.FindElement(By.XPath("./td[contains(@class, 'appliedPoints')][1]")).Text; var isDefense = postDraftRanking.PlayerName.Contains("D/ST"); postDraftRanking.Projection = isDefense ? 1600m : decimal.Parse(projectedPoints); postDraftRankings.Add(postDraftRanking); } } } new PrintPostDraftRankingsService(postDraftRankings).WritePostDraftRankingsFile(); } }
private void PrintLine(StreamWriter file, PostDraftRanking ranking) { file.WriteLine(ranking.PlayerName); file.WriteLine($"{ranking.Projection}\t\t{ranking.WeeklyProjection}\t\t\t"); file.WriteLine(); }