Пример #1
0
        /// <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
            }
        }
Пример #2
0
        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);
            }
        }