예제 #1
0
        public GiftHulkModel(string username, string password, BackgroundWorker bw, bool openHulk, int cards)
        {
            int chips = 0;

            ChromeDriverService service = ChromeDriverService.CreateDefaultService(App.Folder);

            service.HideCommandPromptWindow = true;

            ChromeOptions options = new ChromeOptions();

            options.AddArgument("start-maximized");
            options.AddArgument("user-data-dir=" + App.Folder + "profileGH");

            IWebDriver driver = new ChromeDriver(service, options);

            driver.Navigate().GoToUrl("http://www.gifthulk.com/");

            try
            {
                driver.FindElement(By.ClassName("signup-link")).Click();

                driver.FindElement(By.Name("log")).SendKeys(username);
                driver.FindElement(By.Name("pwd")).SendKeys(password);

                /*
                 * IList<IWebElement> iframes = driver.FindElements(By.TagName("iframe"));
                 * MessageBox.Show(iframes.Count.ToString());
                 * foreach(IWebElement iframe in iframes)
                 * {
                 *  MessageBox.Show(iframe.GetAttribute("title"));
                 * }
                 */

                Helpers.switchFrameByNumber(driver, 3);
                //driver.FindElement(By.ClassName("recaptcha-checkbox")).Click();

                /*
                 * if (driver.FindElement(By.Id("recaptcha-anchor")).Displayed)
                 * {
                 *  MessageBox.Show("Hey");
                 * }
                 */
                int classCount = 0;
                IList <IWebElement> ClassNames = driver.FindElements(By.TagName("div"));
                foreach (IWebElement ClassName in ClassNames)
                {
                    if (classCount == 4)
                    {
                        try
                        {
                            ClassName.Click();
                        }
                        catch { }
                    }
                    classCount++;
                }
                driver.SwitchTo().DefaultContent();
                while (driver.FindElement(By.Name("pwd")).Displayed)
                {
                }
                driver.FindElement(By.Name("pwd")).SendKeys(Keys.Enter);
            }
            catch { }
            finally { }
            Helpers.wait(5000);

            Helpers.ByClass(driver, "close-popup");

            if (!openHulk)
            {
                while (!bw.CancellationPending)
                {
                    int.TryParse(driver.FindElement(By.Id("daily_chips")).Text, out chips);

                    if (chips > 0)
                    {
                        driver.Navigate().GoToUrl("http://www.gifthulk.com/guess-the-card/");
                        GuessCard(driver, cards);
                    }

                    try
                    {
                        driver.FindElement(By.Id("watch-video")).Click();
                        sideVideos(driver);
                    }
                    catch { }

                    Helpers.wait(5000);
                    videosWatch(driver);
                }
            }
        }