/// <summary> /// Gereksiz sekmeleri kapatır ve ilk sekmeyi seçer /// </summary> public static void FirstTabSelect() { try { var windowHandles = Constants.Driver.WindowHandles; foreach (var windowHandle in ForEachHelper.WithIndex(windowHandles)) { if (windowHandle.Index == 0) { continue; } var selectTab = Constants.Driver.SwitchTo().Window(windowHandle.Value); selectTab.Close(); } // İlk sekmeyi seç var selectFirstTab = Constants.Driver.SwitchTo().Window(Constants.Driver.WindowHandles.FirstOrDefault()); if (selectFirstTab.Url.IndexOf(Constants.BaseUrl, StringComparison.Ordinal) == -1) { // Home Url aç Constants.BrowserService.Request(Constants.HomeUrl); } } catch { // ignore } }
public bool StartProcess() { try { // İlk sekmeyi seç Constants.Driver.SwitchTo().Window(Constants.Driver.WindowHandles.FirstOrDefault()); // Servise bağlan Constants.BrowserService.Request(Constants.ShortLinksUrl); // 1- Reklamları Listele var adsList = Constants.DriverWait.Until( ExpectedConditions.PresenceOfAllElementsLocatedBy( By.XPath(Constants.ShortLinksXpathAdsList) )); // Reklamları döndür foreach (var ads in ForEachHelper.WithIndex(adsList)) { var adsIndex = ads.Index + 1; var adsStatus = ads.Value.FindElement(By.XPath(string.Format(Constants.ShortLinksXpathAdsStatus, adsIndex))); var adsButtonElement = ads.Value.FindElement(By.XPath(string.Format(Constants.ShortLinksXpathAdsClick, adsIndex))); if (adsStatus.Text != "100%" & adsIndex <= 3) { // Captcha uyarısı var mı if (Constants.BrowserService.PageSource() .IndexOf(Constants.AdsCaptchaAlert, StringComparison.Ordinal) != -1) { return(false); } else { // 1- İlk reklama tıkla var firstAds = Constants.DriverWait.Until( ExpectedConditions.ElementToBeClickable( adsButtonElement )); firstAds.SendKeys(""); firstAds.Click(); // 2- Süreye kontrol et AdsWaitingTime(); // 3- Visit Website butonuna tıkla ClickVisitWebsite(); // 4- Step 1/2 - "Show Timer / Click Here" tıkla ClickShowTimer(); // Burada yeni bir pencere açılıyor ve arkada düşüyor // İlk sekmeye focuslanmak için Constants.Driver.SwitchTo().Window(Constants.Driver.WindowHandles.FirstOrDefault()); // 5- Step 1/2 - "Kalan süre" GetTimeWaiting(); //6 - Step 1 / 2 - "Continue" tıkla ClickContinue(); // 7- Step 1/2 - "Show Timer / Click Here" tıkla ClickShowTimer(); // Burada yeni bir pencere açılıyor ve arkada düşüyor // İlk sekmeye focuslanmak için Constants.Driver.SwitchTo().Window(Constants.Driver.WindowHandles.FirstOrDefault()); // 8- Step 2/2 - "Kalan süre" GetTimeWaiting(); //9 - Step 2 / 2 - "Continue" tıkla ClickContinue(); } } FirstTabSelect(); // ilk sekmeyi seç diğerini kapat } return(true); } catch { return(false); } }