private void TryDownloadingAnime(IWebDriver webdriver, Anime anime, bool useAltNAme) { bool foundEpisode = true; do { try { string url = CurrentEpisodeURL(anime, settings.CrawlURL, useAltNAme); webdriver.Url = url; new WebDriverWait(webdriver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.UrlToBe(url)); webdriver.Navigate().Refresh(); webdriver.FindElement(By.Id(Anime.AddLeadingZero(anime.CurrentEpisode) + "-" + settings.Quality)) .FindElement(By.LinkText("Torrent")).Click(); Console.WriteLine("Downloaded Episode " + Anime.AddLeadingZero(anime.CurrentEpisode) + " " + anime.Name); dlProcessor.ProcessDownload(anime, useAltNAme); anime.CurrentEpisode++; } catch (NoSuchElementException) { foundEpisode = false; CouldNotFind(anime); } } while (!webdriver.PageSource.Contains(animeNotFound) && foundEpisode); }
private string CurrentEpisodeURL(Anime anime, string startURL, bool useAltName) { string urlName = (useAltName ? anime.AltName : anime.Name).ToLower(); for (int i = 0; i < replaceChars.Count; i += 2) { urlName = urlName.Replace(replaceChars[i], replaceChars[i + 1]); } return(startURL + "shows/" + urlName + "/#" + Anime.AddLeadingZero(anime.CurrentEpisode)); }