Ejemplo n.º 1
0
        /// <summary>
        /// The entry point of program. Sends message from mail, sends from rambler and changes name of mail profile.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            IWebDriver webDriver = new OpenQA.Selenium.Chrome.ChromeDriver();

            LoginMailPage loginMailPage = new LoginMailPage(webDriver);

            loginMailPage.GoToPage();
            var mainMailPage         = loginMailPage.LoginToMail("*****@*****.**", "2_password_2");
            var writerLetterMailPage = mainMailPage.ClickToWriteLetter();

            writerLetterMailPage.SendLetter("*****@*****.**", "I ready to change my name!!");
            webDriver.Quit();

            webDriver = new OpenQA.Selenium.Chrome.ChromeDriver();

            LoginRamblerPage loginRamblerPage = new LoginRamblerPage(webDriver);

            loginRamblerPage.GoToLoginPage();
            var mainRamblerPage   = loginRamblerPage.LoginIntoRambler("*****@*****.**", "1_Password_1");
            var ramblerLetterPage = mainRamblerPage.SelectUnreadLetter("*****@*****.**");

            ramblerLetterPage.ReplyOnLetter("Hallou");
            webDriver.Quit();

            webDriver = new OpenQA.Selenium.Chrome.ChromeDriver();

            loginMailPage = new LoginMailPage(webDriver);
            loginMailPage.GoToPage();
            mainMailPage = loginMailPage.LoginToMail("*****@*****.**", "2_password_2");
            var    mailLetterPage = mainMailPage.SelectUnseenLetter("*****@*****.**");
            string newUserName    = mailLetterPage.GetNameFromLetter();
            var    settingsPage   = mailLetterPage.GoToSetting();

            settingsPage.ChangeUserName(newUserName);
        }
Ejemplo n.º 2
0
        public override void RunCommand(object sender)
        {
            var engine     = (Core.Automation.Engine.AutomationEngineInstance)sender;
            var driverPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath), "Resources");

            OpenQA.Selenium.Chrome.ChromeDriverService driverService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(driverPath);

            var newSeleniumSession = new OpenQA.Selenium.Chrome.ChromeDriver(driverService, new OpenQA.Selenium.Chrome.ChromeOptions());

            var instanceName = v_InstanceName.ConvertToUserVariable(sender);

            engine.AddAppInstance(instanceName, newSeleniumSession);


            //handle app instance tracking
            if (v_InstanceTracking == "Keep Instance Alive")
            {
                GlobalAppInstances.AddInstance(instanceName, newSeleniumSession);
            }

            //handle window type on startup - https://github.com/saucepleez/taskt/issues/22
            switch (v_BrowserWindowOption)
            {
            case "Maximize":
                newSeleniumSession.Manage().Window.Maximize();
                break;

            case "Normal":
            case "":
            default:
                break;
            }
        }
Ejemplo n.º 3
0
        private IWebDriver OpenBrowser(string BrowserType, string Headless = "")
        {
            if (BrowserType.ToLower() == "chrome")
            {
                OpenQA.Selenium.Chrome.ChromeOptions options = new OpenQA.Selenium.Chrome.ChromeOptions();

                options.AddArgument("--start-maximized");
                options.AddArgument("--ignore-certificate-errors");
                options.AddArgument("--disable-popup-blocking");
                options.AddArgument("--safebrowsing-disable-download-protection");
                options.AddArgument("--incognito");

                if (Headless.ToLower() == "yes" || Headless == "")
                {
                    options.AddArgument("--headless");
                }
                options.AddUserProfilePreference("download.prompt_for_download", false);
                options.AddUserProfilePreference("disable-popup-blocking", true);
                options.AddUserProfilePreference("safebrowsing", "enabled");

                IWebDriver driv = new OpenQA.Selenium.Chrome.ChromeDriver(options);
                return(driv);
            }

            else
            {
                return(new OpenQA.Selenium.Firefox.FirefoxDriver());
            }
        }
Ejemplo n.º 4
0
 public static void Init(TestContext x)
 {
     OpenQA.Selenium.Firefox.FirefoxDriver fd = new OpenQA.Selenium.Firefox.FirefoxDriver();
     Browsers.Add(fd);
     OpenQA.Selenium.Chrome.ChromeDriver cd = new OpenQA.Selenium.Chrome.ChromeDriver();
     Browsers.Add(cd);
 }
Ejemplo n.º 5
0
        static string GrabErrorLog(string errorLogUrl, string errorDetailBase)
        {
            IWebDriver driver = null;
            try
            {
                driver = new OpenQA.Selenium.Chrome.ChromeDriver();

                driver.Navigate().GoToUrl(errorLogUrl);

                Thread.Sleep(30);

                var element = driver.FindElement(By.XPath("//option[@value='/elab']"));
                element.Click();
                element.Submit();

                Thread.Sleep(30);

                var table = driver.FindElement(By.Id("dgdResults"));
                var result = ((IJavaScriptExecutor)driver).ExecuteScript("return arguments[0].innerHTML;", table).ToString();
                result = result.Replace("ErrorLogEventDetail.aspx", errorDetailBase);
                result = System.Text.RegularExpressions.Regex.Replace(result, @"javascript:__doPostBack[^>""]*", "");
                return "<table>" + result + "</table>";
            }
            catch
            {
                throw;
            }
            finally
            {
                if (driver != null)
                    driver.Quit();
            }
        }
        private object FindElement(OpenQA.Selenium.Chrome.ChromeDriver seleniumInstance, string searchParameter)
        {
            object element = null;

            switch (v_SeleniumSearchType)
            {
            case "Find Element By XPath":
                element = seleniumInstance.FindElementByXPath(searchParameter);
                break;

            case "Find Element By ID":
                element = seleniumInstance.FindElementById(searchParameter);
                break;

            case "Find Element By Name":
                element = seleniumInstance.FindElementByName(searchParameter);
                break;

            case "Find Element By Tag Name":
                element = seleniumInstance.FindElementByTagName(searchParameter);
                break;

            case "Find Element By Class Name":
                element = seleniumInstance.FindElementByClassName(searchParameter);
                break;

            case "Find Element By CSS Selector":
                element = seleniumInstance.FindElementByCssSelector(searchParameter);
                break;

            case "Find Elements By XPath":
                element = seleniumInstance.FindElementsByXPath(searchParameter).ToList();
                break;

            case "Find Elements By ID":
                element = seleniumInstance.FindElementsById(searchParameter).ToList();
                break;

            case "Find Elements By Name":
                element = seleniumInstance.FindElementsByName(searchParameter).ToList();
                break;

            case "Find Elements By Tag Name":
                element = seleniumInstance.FindElementsByTagName(searchParameter).ToList();
                break;

            case "Find Elements By Class Name":
                element = seleniumInstance.FindElementsByClassName(searchParameter).ToList();
                break;

            case "Find Elements By CSS Selector":
                element = seleniumInstance.FindElementsByCssSelector(searchParameter).ToList();
                break;

            default:
                throw new Exception("Search Type was not found");
            }

            return(element);
        }
Ejemplo n.º 7
0
        internal static IWebDriver LaunchBrowser(Type browser)
        {
            switch (browser)
            {
            case Type.CHROME:
                Driver = new OpenQA.Selenium.Chrome.ChromeDriver();
                break;

            case Type.FIREFOX:
                Driver = new OpenQA.Selenium.Firefox.FirefoxDriver();
                break;

            case Type.IE:
                Driver = new OpenQA.Selenium.IE.InternetExplorerDriver();
                break;

            case Type.SAFARI:
                Driver = new OpenQA.Selenium.Safari.SafariDriver();
                break;

            default:
                throw new ApplicationException("No appropriate browser driver was provided.");
            }
            return(Driver);
        }
Ejemplo n.º 8
0
        public IWebDriver OpenBrowser(string PathToDrivers)
        {
            if (GetBrowserType() == BrowserType.Chrome)
            {
                OpenQA.Selenium.Chrome.ChromeOptions options = new OpenQA.Selenium.Chrome.ChromeOptions();

                options.AddArgument("--start-maximized");
                options.AddArgument("--ignore-certificate-errors");
                options.AddArgument("--disable-popup-blocking");
                options.AddArgument("--safebrowsing-disable-download-protection");
                options.AddArgument("--incognito");
                if (headless.ToLower() == "yes")
                {
                    options.AddArgument("--headless");
                }
                options.AddUserProfilePreference("download.prompt_for_download", false);
                options.AddUserProfilePreference("disable-popup-blocking", true);
                //options.AddUserProfilePreference("safebrowsing.enabled", true);
                options.AddUserProfilePreference("safebrowsing", "enabled");

                driv = new OpenQA.Selenium.Chrome.ChromeDriver(PathToDrivers, options);
            }

            return(driv);
        }
Ejemplo n.º 9
0
        public void TestNewCode(string UrlPath)
        {
            using (var driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                UrlPath = "https://privatepath.co.uk/browse/" + UrlPath;

                driver.Navigate().GoToUrl(UrlPath);

                System.Threading.Thread.Sleep(15000);
                IWebElement PageButton = driver.FindElementById("opsbar-opsbar-transitions");
                var         myButton   = PageButton.FindElement(By.Id("action_id_91"));
                myButton.Click();
                IWebElement PageButton2 = driver.FindElementByClassName("buttons");
                var         myButton2   = PageButton2.FindElement(By.ClassName("aui-button"));
                myButton2.Click();
                IWebElement PageElements = driver.FindElement(By.ClassName("item-attachments"));
                var         myAttach     = PageElements.FindElements(By.TagName("li"));
                foreach (var item in myAttach)
                {
                    Console.WriteLine(item.Text);
                    Console.WriteLine(item.GetAttribute("data-downloadurl").ToString());
                    if (item.GetAttribute("data-downloadurl").ToString().StartsWith("application/zip:"))
                    {
                        item.Click();
                        System.Threading.Thread.Sleep(1000);
                        Console.WriteLine("Downloading File...");
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public void StartGeeTest(Uri uri)
        {
            const int waitTime = 500;
            var       options  = new OpenQA.Selenium.Chrome.ChromeOptions();

            //options.AddArgument("-headless");//不显示界面
            options.AddArgument("--window-size=1920,1050");
            options.AddArgument("log-level=3");
            using OpenQA.Selenium.Chrome.ChromeDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(options);
            driver.Navigate().GoToUrl(uri);
            //反爬验证webdriver
            driver.ExecuteJavaScript("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})");
            driver.Navigate().GoToUrl(uri);
            Thread.Sleep(waitTime);//等待js执行
            driver.ExecuteScript("header.loginLink(event)");
            Console.WriteLine("点击《登录/注册》按钮");
            Thread.Sleep(waitTime);
            driver.ExecuteScript("loginObj.changeCurrent(1);");
            Console.WriteLine("点击 《密码登录》按钮");
            Thread.Sleep(waitTime);
            driver.ExecuteScript("$('.contactphone').val('17712345678')");
            driver.ExecuteScript("$('.contactword').val('2020')");
            Console.WriteLine("输入账号密码");
            Thread.Sleep(waitTime);
            driver.ExecuteScript("loginObj.loginByPhone(event);");
            Console.WriteLine("点击《登录》按钮");
            Thread.Sleep(waitTime);
            SeleniumVertifyCode slideVerificationCode = new SeleniumVertifyCode();
            var flag = slideVerificationCode.Pass(driver);

            Console.WriteLine($"验证结果{flag}");
        }
Ejemplo n.º 11
0
 static void Main(string[] args)
 {
     using (var driver = new  OpenQA.Selenium.Chrome.ChromeDriver())
     {
         new IMDB.IMDB(driver).SearchByActorName("Russell Crowe").SaveMoviesDetails();
     }
 }
Ejemplo n.º 12
0
 private void BtnAra_Click(object sender, EventArgs e)
 {
     try
     {
         if (!string.IsNullOrWhiteSpace(txtAranacakKelime.Text))
         {
             driver = new OpenQA.Selenium.Chrome.ChromeDriver();
             driver.Navigate().GoToUrl("https://www.google.com/search?q=" + txtAranacakKelime.Text);
             //Sonuçları döndür
             int toplam = driver.FindElements(By.TagName("cite")).Count;
             for (int i = 0; i < toplam; i++)
             {
                 ReadOnlyCollection <IWebElement> Liste = driver.FindElements(By.XPath("//*[@id='rso']/div/div/div[" + i + "]/div/div/div[1]/a[1]"));
                 foreach (IWebElement result in Liste)
                 {
                     string link = result.GetAttribute("href");
                     lstSonuclar.Items.Add(link);
                 }
             }
         }
         else
         {
             MessageBox.Show("Lütfen aranacak bir kelime giriniz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Ejemplo n.º 13
0
 public static void Init(TestContext x)
 {
     OpenQA.Selenium.Firefox.FirefoxDriver fd = new OpenQA.Selenium.Firefox.FirefoxDriver();
     Browsers.Add(fd);
     OpenQA.Selenium.Chrome.ChromeDriver cd = new OpenQA.Selenium.Chrome.ChromeDriver();
     Browsers.Add(cd);
 }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            //Launch Application
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver();

            driver.Navigate().GoToUrl("http://www.way2automation.com/angularjs-protractor/webtables/");
            Thread.Sleep(2000);


            // Add user on the table
            driver.FindElement(By.XPath("/html/body/table/thead/tr[2]/td/button")).Click();

            Thread.Sleep(2000);

            //Read Data from Excel sheet
            string xlFilePath = "C:/Users/Moditime/Desktop/koena/Automation/DataFile.xlsx";

            ExcelAPI obj = new ExcelAPI(xlFilePath);

            var cellValue = obj.GetCellData("Sheet1", "FirstName", 1);

            Console.WriteLine("Cell Value using Column Name: " + cellValue);
            Console.Read();

            //Create user
            obj.CreateUser();
        }
        public static void DriverInitialize()
        {
            _driver = new OpenQA.Selenium.Chrome.ChromeDriver();

            _driver.Manage().Window.Maximize();
            _driver.Manage().Timeouts().ImplicitWait = System.TimeSpan.FromSeconds(30);
        }
Ejemplo n.º 16
0
        public void WhenDepartureEqualDestination()
        {
            IWebDriver browser;
            bool       passTest = false;

            browser = new OpenQA.Selenium.Chrome.ChromeDriver();
            browser.Manage().Window.Maximize();
            browser.Navigate().GoToUrl("http://avia.321.by/");
            ClassPageFactory pageObject = new ClassPageFactory(browser);

            pageObject.Place_from.Clear();
            pageObject.Place_from.SendKeys("Минск");
            System.Threading.Thread.Sleep(1000);
            pageObject.Place_from.SendKeys(OpenQA.Selenium.Keys.Enter);

            pageObject.DepartureDate_first.Click();
            System.Threading.Thread.Sleep(1000);
            pageObject.Calendar_datefirst.Click();

            pageObject.Place_to.Clear();
            pageObject.Place_to.SendKeys("Минск");
            System.Threading.Thread.Sleep(1000);
            pageObject.Place_to.SendKeys(OpenQA.Selenium.Keys.Enter);

            pageObject.DepartureDate_second.Click();
            System.Threading.Thread.Sleep(1000);
            pageObject.Calendar_datesecond.Click();

            pageObject.SearchButton.Click();
            System.Threading.Thread.Sleep(5000);

            passTest = pageObject.WarningWindow.Displayed;
            Assert.IsTrue(passTest, "Departure City Equal Destination City! Input Error!");
        }
 public TestRunController(IWebHostEnvironment env, AppsData data, OpenQA.Selenium.Chrome.ChromeDriver driver, AppsContext ctx)
 {
     _env    = env;
     _db     = data.AppsDB;
     _data   = data;
     _driver = driver;
     _ctx    = ctx;
 }
Ejemplo n.º 18
0
        public void GivenUserIsOnMainPage()
        {
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(@"D:\1\");

            driver.Manage().Window.Maximize();
            driver.Navigate().GoToUrl("https://loving-hermann-e2094b.netlify.app/index.html");
            signUpPage = new SignUpPage(driver);
        }
Ejemplo n.º 19
0
 private void FindBD()
 {
     if (Browser == null)
     {
         Browser = new OpenQA.Selenium.Chrome.ChromeDriver();
     }
     else
     {
         Browser.Navigate().GoToUrl("http://myanimeshelf.com/");
         List <IWebElement> BDayGuy = Browser.FindElements(By.CssSelector(".content td:nth-last-child(1) a")).ToList(); // B-days
         List <string>      BDay    = Tools4help.GetString(BDayGuy);
         DateTime           thisDay = DateTime.Today;
         for (int i = 0; i < BDay.Count; i++)
         {
             Browser.Navigate().GoToUrl("https://myanimeshelf.com/shelf/" + BDay[i]);
             IWebElement LastOnline       = Browser.FindElement(By.CssSelector(".mc .broken tr:nth-last-child(6) td:nth-last-child(1) "));
             string      LastOnlineNoTime = LastOnline.Text.Substring(0, LastOnline.Text.LastIndexOf(','));
             DateTime    regDate          = DateTime.ParseExact(LastOnlineNoTime, "dd MMM yy", CultureInfo.InvariantCulture);
             string      age;
             try
             {
                 IWebElement Age   = Browser.FindElement(By.CssSelector(".mb .broken tr:nth-last-child(4) td:nth-last-child(1)"));
                 int         start = (Age.Text.IndexOf("(") + 1);
                 int         end   = Age.Text.LastIndexOf("years)");
                 age = Age.Text.Substring(start, end - start - 1);
             }
             catch
             {
                 IWebElement Age   = Browser.FindElement(By.CssSelector(".mb .broken tr:nth-last-child(3) td:nth-last-child(1)")); // Не у всех указан пол
                 int         start = (Age.Text.IndexOf("(") + 1);
                 int         end   = Age.Text.LastIndexOf("years)");
                 age = Age.Text.Substring(start, end - start - 1);
             }
             TimeSpan span     = thisDay - regDate;
             int      deltaDay = span.Days;
             bool     fsb      = false;
             if ((BDay[i].StartsWith("id")) || (BDay[i].StartsWith("tw_")) || (BDay[i].StartsWith("fb_")) || (BDay[i].StartsWith("vk_")) || (BDay[i].StartsWith("gp_"))) // это в отдельную функцию
             {
                 //MessageBox.Show("eto fsb");
                 fsb = true;
             }
             if (deltaDay < Convert.ToInt32(zahodDay.Text))
             {
                 if (yatutnuzhen7())
                 {
                     if (!fsb)
                     {
                         BDaypostCreate(BDay[i], Convert.ToInt32(age));
                     }
                     else
                     {
                         BDaypostCreate("", Convert.ToInt32(age));
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 20
0
        public static List <string> getter()
        {
            IWebDriver Browser = new OpenQA.Selenium.Chrome.ChromeDriver();

            Browser.Manage().Window.Maximize();
            Browser.Navigate().GoToUrl("http://apip.gov.gn/?q=content/annonces-l%C3%A9gales");
            Regex RCCM = new Regex("\\d{3}[.]\\d{3}[A-Z]|\\d{6}[A-Z]|\\d{6}|\\d{3}[.]\\d{3}");
            Regex Date = new Regex("\\d{2}[/]\\d{2}[/]\\d{4}|\\d{1,2}\\s\\w{3,10}[,]\\s\\d{4}");

            List <string> output = new List <string>();

            try
            {
                bool flag = true;
                while (true)
                {
                    if (flag)
                    {
                        flag = !flag;

                        ReadOnlyCollection <IWebElement> list      = Browser.FindElements(By.ClassName("views-field-title"));
                        ReadOnlyCollection <IWebElement> listDates = Browser.FindElements(By.ClassName("views-field-body-1"));

                        for (int i = 0; i < list.Count; i++)
                        {
                            string combine = "";
                            string date    = listDates[i].Text.ToString();
                            combine += list[i].Text.ToString() + "|";
                            Match  match = RCCM.Match(date);
                            string tmp   = match.Value.ToString();
                            combine += tmp + "|";
                            match    = Date.Match(date);
                            tmp      = match.Value.ToString();
                            combine += tmp;
                            output.Add(combine);
                        }
                    }
                    else
                    {
                        flag = !flag;
                    }



                    IWebElement element = Browser.FindElement(By.XPath("//A[@title='Go to next page'][text()='next ›']"));

                    Actions actions = new Actions(Browser);

                    actions.MoveToElement(element);
                    actions.Click().Perform();
                }
            }
            catch
            {
            }
            Browser.Quit();
            return(output);
        }
Ejemplo n.º 21
0
 static void Main(string[] args)
 {
    
     //Create the reference
     IWebDriver driver =new OpenQA.Selenium.Chrome.ChromeDriver();
     driver.Navigate().GoToUrl("http://www.google.com");
     IWebElement ele = driver.FindElement(By.Id("gs_htif0"));
     ele.SendKeys("Execute Automation");
 }
Ejemplo n.º 22
0
        static void Main(string[] args)
        {
            var chrome = new OpenQA.Selenium.Chrome.ChromeDriver {
                Url = "http://www.google.com"
            };

            chrome.FindElementById("lst-ib").SendKeys("muratoner.net");
            chrome.FindElementByClassName("lsb").Click();
        }
        public IWebDriver NavigatetoApp(string url)
        {
            IWebDriver myChrome;

            myChrome = new OpenQA.Selenium.Chrome.ChromeDriver();
            myChrome.Navigate().GoToUrl(url);
            myChrome.Manage().Window.Maximize();
            return(myChrome);
        }
Ejemplo n.º 24
0
        public void GivenILoginIntoMyApp()
        {
            // ScenarioContext.Current.Pending();
            OpenQA.Selenium.IWebDriver webdriver = new OpenQA.Selenium.Chrome.ChromeDriver();
            webdriver.Navigate().GoToUrl("http://automationpractice.com/index.php?controller=authentication&back=my-account");
            loginPage = new LoginPage(webdriver);

            myAccountPage = new MyAccountPage(webdriver);
            Console.WriteLine("Given");
        }
Ejemplo n.º 25
0
        static void Main(string[] args)
        {
            IWebDriver browser = new OpenQA.Selenium.Firefox.FirefoxDriver();//1. Открыть браузер
            IWebDriver browser2 = new OpenQA.Selenium.Chrome.ChromeDriver();
                       
            Test test = new Test(browser);
            test.test();

            Test test2 = new Test(browser2);
            test2.test();
        }
Ejemplo n.º 26
0
        static void Main(string[] args)
        {
            StringBuilder message  = new StringBuilder();
            decimal       pageSize = 30m;
            int           index    = 0;

            using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                driver.Navigate().GoToUrl(Url);  //driver.Url = "http://www.baidu.com"是一样的

                var account = driver.FindElement(By.Id("log_ph"));
                account.Click();
                account.SendKeys(UserName);

                var password = driver.FindElement(By.Id("log_ps"));
                password.Click();
                password.SendKeys(Password);

                var login = driver.FindElement(By.Id("log_ok"));
                login.Click();

                //driver.Navigate().GoToUrl("");
                //由于这边是异步加载,需要等待一定的时候,异步加载页面才能加载出来。
                Thread.Sleep(20000);

                //var page1 = driver.PageSource;
                driver.SwitchTo().Frame(0);
                //var page = driver.PageSource;

                var pageNumber = Math.Ceiling(TrackingNumbers().Length / pageSize);
                var flag       = true;
                for (int i = 0; i < pageNumber; i++)
                {
                    try
                    {
                        var trackingNumbers = TrackingNumbers().Skip(i * (int)pageSize).Take((int)pageSize).ToArray();
                        index = i;
                        Information(driver, trackingNumbers, i);
                        message.AppendLine($"index:{index},Success!");
                    }
                    catch (Exception ex)
                    {
                        flag = false;
                        message.AppendLine($"index:{index},Error:{ex.Message}");
                    }
                }
                if (flag)
                {
                    message.AppendLine("all success!");
                }
            }
            Console.WriteLine(message.ToString());
            Console.ReadKey();
        }
Ejemplo n.º 27
0
        // Поиск элементов на странице.


        //Попытка установки значения полю на странице


        public void StartProcessing()
        {
            try
            {
                using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver())
                {
                    Message?.Invoke("Запуск браузера");
                    System.Threading.Thread.Sleep(3000);
                    driver.Navigate().GoToUrl("https://websbor.gks.ru/webstat/#!/gs/statistic-codes");
                    System.Threading.Thread.Sleep(3000);


                    ElementPageManager pageManager = new ElementPageManager(driver);


                    foreach (var organization in organizations)
                    {
                        Message?.Invoke(string.Format("Установка значение полю ИНН  {0}", organization.Inn));
                        pageManager.TextEntityInn = organization.Inn;
                        pageManager.ButtonClick();
                        pageManager.FindTableInPage(organization);

                        //SendKeyPage(webElements.entityInn, organization.Inn);
                        //webElements.entityButton.Click();



                        //if (element is null)
                        //{
                        //    errorStep = -1;
                        //    throw new Exception("Не найден элемент на странице. Работа программы невозможна");
                        //}
                        //element.Clear();
                        //element.SendKeys(organization.Inn);
                        //btn.Click();

                        System.Threading.Thread.Sleep(1000);

                        //Actions actions = new Actions(browser);
                        // actions.MoveToElement(btn.FirstOrDefault()).Build();//.Perform();
                        // btn.FirstOrDefault().Click();
                    }

                    // System.Threading.Thread.Sleep(5000000);
                }
            }
            catch (Exception ex)
            {
                //errorStep--;
                //if (errorStep < 0)
                throw ex;
            }
        }
        public override void RunCommand(object sender)
        {
            var engine         = (Core.Automation.Engine.AutomationEngineInstance)sender;
            var driverPath     = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath), "Resources");
            var seleniumEngine = v_EngineType.ConvertToUserVariable(sender);
            var instanceName   = v_InstanceName.ConvertToUserVariable(sender);

            OpenQA.Selenium.DriverService driverService;
            OpenQA.Selenium.IWebDriver    webDriver;

            if (seleniumEngine == "Chrome")
            {
                OpenQA.Selenium.Chrome.ChromeOptions options = new OpenQA.Selenium.Chrome.ChromeOptions();

                if (!string.IsNullOrEmpty(v_SeleniumOptions))
                {
                    var convertedOptions = v_SeleniumOptions.ConvertToUserVariable(sender);
                    options.AddArguments(convertedOptions);
                }

                driverService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(driverPath);
                webDriver     = new OpenQA.Selenium.Chrome.ChromeDriver((OpenQA.Selenium.Chrome.ChromeDriverService)driverService, options);
            }
            else
            {
                driverService = OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService(driverPath);
                webDriver     = new OpenQA.Selenium.IE.InternetExplorerDriver((OpenQA.Selenium.IE.InternetExplorerDriverService)driverService, new OpenQA.Selenium.IE.InternetExplorerOptions());
            }


            //add app instance
            engine.AddAppInstance(instanceName, webDriver);


            //handle app instance tracking
            if (v_InstanceTracking == "Keep Instance Alive")
            {
                GlobalAppInstances.AddInstance(instanceName, webDriver);
            }

            //handle window type on startup - https://github.com/saucepleez/taskt/issues/22
            switch (v_BrowserWindowOption)
            {
            case "Maximize":
                webDriver.Manage().Window.Maximize();
                break;

            case "Normal":
            case "":
            default:
                break;
            }
        }
        static void Main(string[] args)
        {
            using (var driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                driver.Navigate().GoToUrl("https://www.bing.com/");
                driver.FindElementById("sb_form_q").SendKeys("Selenium WebDriver");
                driver.FindElementById("sb_form_go").Click();

                Console.WriteLine("OK");
                Console.ReadKey(intercept: true);
            }
        }
Ejemplo n.º 30
0
        static void Main(string[] args)
        {
            using (var driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(3);
                driver.Navigate().GoToUrl("https://www.bing.com/");
                driver.FindElementById("sb_form_q").SendKeys("Selenium WebDriver");
                driver.FindElementByClassName("search").Click();

                Console.WriteLine("OK");
                Console.ReadKey(intercept: true);
            }
        }
 internal void StartSeChromeUrl(string url, ref IWebDriver Drv)
 {
     try
     {
         Drv = new OpenQA.Selenium.Chrome.ChromeDriver();
         // Drv.Manage().Window.Maximize();
         Drv.Navigate().GoToUrl(@url);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Ejemplo n.º 32
0
 //initialize own constructor and launch Auth
 public seleniumHundler(string login, string pass, string text, int timer, Xmlelement[] vector) : base(login, pass, text, timer)
 {
     links    = vector;
     _comPage = new comLinks[links.Length];
     browser  = new OpenQA.Selenium.Chrome.ChromeDriver();
     Auth();
     for (int i = 0; i < links.Length; i++)
     {                    //we'll navigate to link and get our number by previously shown method
         _comPage[i] = returnParams(links[i].link);
         colorMes($"Group id: {_comPage[i].groupnum} post id: {_comPage[i].postnum} link: {_comPage[i].grouplink}", ConsoleColor.Yellow);
     }
     colorMes("Initializing was successfully completed", ConsoleColor.Green);
     comnavTo();               //launch method for navigate to url
 } //
        public void TestMethod1()
        {
            //Navegando com o Chrome
            using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                SearchAndNavigateTest(driver);
            }

            //Navegando com o Firefox
            using (IWebDriver driver = new OpenQA.Selenium.Firefox.FirefoxDriver())
            {
                SearchAndNavigateTest(driver);
            }
        }
Ejemplo n.º 34
0
        public IWebDriver GetWebDriver(WebDriverParameters parameters)
        {
            IWebDriver driver = null;
            var desiredCaps = new DesiredCapabilities();

            foreach (var cap in parameters.capabilities)
            {
                desiredCaps.SetCapability(cap.Key, cap.GetValue());
            }
            //desiredCaps.SetCapability(CapabilityType.Platform, new Platform(GetPlatformTypeFromString(parameters.platform)));
            //desiredCaps.SetCapability(CapabilityType.BrowserName, parameters.browserName);
            //if (parameters.version != string.Empty)
            //{
            //    desiredCaps.SetCapability(CapabilityType.Version, parameters.version);
            //}
            var ieOptions = new OpenQA.Selenium.IE.InternetExplorerOptions();
            ieOptions.IgnoreZoomLevel = true;
            ieOptions.UnexpectedAlertBehavior = OpenQA.Selenium.IE.InternetExplorerUnexpectedAlertBehavior.Accept;

            var chromeOptions = new OpenQA.Selenium.Chrome.ChromeOptions();
            chromeOptions.AddAdditionalCapability("unexpectedAlertBehaviour", "Accept");

            switch (parameters.browserName.ToUpperInvariant())
            {
                case "CHROME":
                    driver = new OpenQA.Selenium.Chrome.ChromeDriver(chromeOptions);
                    break;
                case "ANDROIDCHROME":
                    driver = new OpenQA.Selenium.Chrome.ChromeDriver(chromeOptions);
                    break;
                case "IE":
                    driver = new OpenQA.Selenium.IE.InternetExplorerDriver(ieOptions);
                    break;
                case "FIREFOX":
                    driver = new OpenQA.Selenium.Firefox.FirefoxDriver(desiredCaps);
                    break;
            }

            //driver.S(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);

            return driver;
        }
        public async void FBLogin(String user, String pass)
        {
            Program.mainForm.btnLogin.Enabled = false;

            if (user == "" || pass == "")
            {
                MessageBox.Show("Điền thông tin đăng nhập!");
                Program.mainForm.btnLogin.Enabled = true;
                return;
            }

            //Program.loadingForm = new LoadingForm();
            //Program.loadingForm.setText("KHỞI TẠO HỆ THỐNG...");
            //Program.loadingForm.Show();
            //Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(() => Program.loadingForm.ShowDialog()));

            //t = new System.Threading.Thread(() => Program.loadingForm.ShowDialog());
            //t.Start(); // LoadingForm.Show()
            // Bật trình duyệt khi Login
            if (driver == null)
            {
                setReady(false, "Đang khởi tạo hệ thống");
                //var profile = new OpenQA.Selenium.Firefox.FirefoxProfile();
                //profile.SetPreference("general.useragent.override", "NokiaC5-00/061.005 (SymbianOS/9.3; U; Series60/3.2 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525 3gpp-gba");
                //profile.SetPreference("webdriver.load.strategy", "unstable");
                //profile.SetPreference("permissions.default.stylesheet", 2);
                //profile.SetPreference("permissions.default.image", 2);
                //profile.AddExtension("App/Firefox/firebug.xpi");
                //profile.SetPreference("dom.ipc.plugins.enabled.libflashplayer.so", "false");
                IEnumerable<int> pidsBefore = Process.GetProcessesByName("chrome").Select(p => p.Id);
                try
                {
                    //this.driver = await Task.Factory.StartNew(() => new OpenQA.Selenium.Firefox.FirefoxDriver(profile));
                    /*
                    OpenQA.Selenium.Firefox.FirefoxBinary firefox = new OpenQA.Selenium.Firefox.FirefoxBinary("App/Firefox/firefox.exe");
                    this.driver = new OpenQA.Selenium.Firefox.FirefoxDriver(firefox, profile);*/
                    var chromeDriverService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(Path.GetDirectoryName(Application.ExecutablePath) + @"\App");
                    chromeDriverService.HideCommandPromptWindow = true;
                    OpenQA.Selenium.Chrome.ChromeOptions chromeDriverOptions = new OpenQA.Selenium.Chrome.ChromeOptions();
                    chromeDriverOptions.AddArgument("--user-agent=NokiaC5-00/061.005 (SymbianOS/9.3; U; Series60/3.2 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525 3gpp-gba"); //Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
                    chromeDriverOptions.AddArgument("ignore-certificate-errors");
                    chromeDriverOptions.AddArgument("no-sandbox");
                    chromeDriverOptions.AddExtension(Path.GetDirectoryName(Application.ExecutablePath) + @"\App\block.crx");
                    driver = await Task.Factory.StartNew(() => new OpenQA.Selenium.Chrome.ChromeDriver(chromeDriverService, chromeDriverOptions));
                    //Thread.Sleep(1000);
                }
                catch
                {
                    //Program.loadingForm.RequestStop();
                    MessageBox.Show("Thiếu File!?");
                    /*
                    if (MessageBox.Show("Để chạy chương trình, bạn cần cài đặt trình duyệt Mozilla Firefox tích hợp. Cài đặt ngay?", "Cài đặt trình duyệt", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes)
                    {
                        MessageBox.Show("Chương trình có thể bị treo trong vài giây tới. Nhấn OK để bắt đầu cài đặt!");
                        // install firefox 34
                        ProcessStartInfo startInfo = new ProcessStartInfo();
                        startInfo.CreateNoWindow = false;
                        startInfo.UseShellExecute = false;
                        startInfo.FileName = "firefox34.exe";
                        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                        startInfo.Arguments = "-ms";
                        try
                        {
                            using (Process exeProcess = Process.Start(startInfo))
                            {
                                exeProcess.WaitForExit();
                            }
                        }
                        catch { }

                        string[] folders = Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Mozilla\\Firefox\\Profiles\\", "*.default");
                        string prefs_js = folders[0] + "\\prefs.js";

                        StreamWriter sw;
                        sw = File.AppendText(prefs_js);
                        sw.WriteLine("user_pref('app.update.auto', false);");
                        sw.WriteLine("user_pref('app.update.enabled', false);");
                        sw.Close();

                        MessageBox.Show("Hoàn thành cài đặt! Hãy khởi động lại chương trình!");
                    }*/

                    Exceptions_Handler();
                }
                IEnumerable<int> pidsAfter = Process.GetProcessesByName("chrome").Select(p => p.Id);

                newFirefoxPids = pidsAfter.Except(pidsBefore);

                try
                {
                    foreach (int pid in newFirefoxPids)
                    {
                        int hWnd = Process.GetProcessById(pid).MainWindowHandle.ToInt32();
                        ShowWindow(hWnd, SW_HIDE);
                    }
                }
                catch
                {
                    // newFirefoxPids.Count == 0
                    //Program.loadingForm.RequestStop();
                    MessageBox.Show("Không tìm thấy cửa sổ Trình duyệt!");
                    Exceptions_Handler();
                }

                driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1));
                driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(10));
                driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(30));
                setReady(true);
            }

            //Program.loadingForm.setText("ĐĂNG NHẬP TÀI KHOẢN FACEBOOK...");
            setReady(false, "Đang đăng nhập");
            await Task.Factory.StartNew(() => Navigate(links["fb_url"]));

            if (await Task.Factory.StartNew(() => driver.FindElementsByName("email").Count) == 0)
            {
                //Program.loadingForm.RequestStop();
                //t.Abort();
                //t.Join();
                MessageBox.Show("Có lỗi với đường truyền mạng hoặc tài khoản facebook của bạn!\nHãy kiểm tra lại");
                Program.mainForm.btnLogin.Enabled = true;
                Program.mainForm.txtUser.Enabled = true;
                Program.mainForm.txtPass.Enabled = true;
                foreach (Control item in Program.mainForm.dgGroups.Controls.OfType<Control>())
                {
                    if (item.Name == "group_loading_gif")
                        Program.mainForm.dgGroups.Controls.Remove(item);
                }
                setReady(true);
                return;
            }
            
            await Task.Factory.StartNew(() => InputValueAdd("email", user));
            await Task.Factory.StartNew(() => InputValueAdd("pass", pass));
            await Task.Factory.StartNew(() => Click("login"));
            /*
            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
            await Task.Factory.StartNew(() => wait.Until<IWebElement>((d) =>
            {
                return d.FindElement(By.Name("xc_message"));
            }));*/
            //await Task.Factory.StartNew(() => ((IJavaScriptExecutor)driver).ExecuteScript("alert(123)"));
            driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(300));
            string after_login_url = await Task.Factory.StartNew(() => driver.Url);
            driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(30));

            check_after_login:
            if (after_login_url.Contains("home.php") || after_login_url.Contains("phoneacquire"))
            {
                Program.mainForm.btnLogin.Text = "Đăng nhập thành công!";
                Program.mainForm.AcceptButton = null;
                Program.mainForm.btnPost.Enabled = true;
                Program.mainForm.btnInvite.Enabled = true;
                Program.mainForm.btnGroupSearch.Enabled = true;
                Program.mainForm.btnGroupJoin.Enabled = true;
                Program.mainForm.btnPMImportFriends.Enabled = true;
                Program.mainForm.btnPM.Enabled = true;
                Program.mainForm.btnPMSendFrRequests.Enabled = true;
                Program.mainForm.btnInteractionsFollow.Enabled = true;
                Program.mainForm.btnInteractionsPoke.Enabled = true;
                Program.mainForm.btnInteractionsLike.Enabled = true;
                Program.mainForm.btnPMImportProfile.Enabled = true;
                Program.mainForm.btnPMImportGroup.Enabled = true;
                Program.mainForm.btnCommentImportComment.Enabled = true;
                Program.mainForm.btnPostImportGroups.Enabled = true;
                Program.mainForm.btnGroupImportFriends.Enabled = true;
                Program.mainForm.btnCommentScan.Enabled = true;
                Program.mainForm.btnFanpageComment.Enabled = true;
                Program.mainForm.btnFanpageGroupPost.Enabled = true;
                Program.mainForm.btnEventInviteFriends.Enabled = true;
                Program.mainForm.btnFanpageSeeder.Enabled = true;
                Program.mainForm.btnFanpageInviteFriends.Enabled = true;
                Program.mainForm.btnFanpageLike.Enabled = true;
                Program.mainForm.btnGraphSearch.Enabled = true;
                
                var photos = await Task.Factory.StartNew(() => driver.FindElementsByXPath("//a[contains(@href, '?v=photos')]"));
                if (photos.Count > 0)
                {
                    String href = photos[0].GetAttribute("href");
                    Match match = Regex.Match(href, @".com\/([A-Za-z0-9\-\.]+)\?v\=photos", RegexOptions.None);
                    if (match.Success)
                    {
                        user_id = match.Groups[1].Value;
                    }
                }

                var nodes = await Task.Factory.StartNew(() => driver.FindElementsByXPath("//img[contains(@src, 'fbcdn-profile-a.akamaihd.net')]"));
                if (nodes.Count > 0)
                {
                    Program.mainForm.lblUsername.Text = nodes[0].GetAttribute("alt");
                }

                try
                {
                    user_id_img = user_id;
                    await Task.Factory.StartNew(() =>
                    {
                        try
                        {
                            user_id_img = driver.FindElementByName("target").GetAttribute("value");
                        }
                        catch { }
                    });

                    Program.mainForm.pbAvatar.WaitOnLoad = false;
                    Program.mainForm.pbAvatar.LoadAsync(links["facebook_graph"] + "/" + user_id_img + "/picture");
                    Program.mainForm.lblViewProfile.Text = "https://facebook.com/" + user_id_img;
                }
                catch { }
                
                //Program.mainForm.Focus();
                //Program.loadingForm.setText("ĐĂNG NHẬP THÀNH CÔNG! ĐANG TẢI DANH SÁCH NHÓM...");
                Program.mainForm.lblStatus.Text = "Tải danh sách nhóm...";
                Program.mainForm.dgGroups.Rows.Clear();
                if (Program.mainForm.cbGroupReload.Checked)
                {
                    try
                    {
                        DataSet DS = new DataSet();
                        DS.ReadXml(RemoveSpecialCharacters(user_id_img) + "_groups.xml");

                        bool empty = true;

                        foreach (DataRow dr in DS.Tables[0].Rows)
                        {
                            Program.mainForm.dgGroups.Rows.Add(dr[0], dr[1], dr[2], dr[3]);
                            await TaskEx.Delay(1);
                            if (dr[3].ToString() == "1") empty = false;
                        }

                        if (empty)
                        {
                            foreach (DataGridViewRow row in Program.mainForm.dgGroups.Rows)
                            {
                                DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells[3];
                                chk.Value = 1;
                            }
                        }
                    }
                    catch { }
                }

                if (Program.mainForm.dgGroups.RowCount == 0) await getGroups();
                else
                {
                    //Program.loadingForm.RequestStop();
                    //t.Abort();
                    //t.Join();
                    Program.mainForm.lblProgress.Text = "0/" + Program.mainForm.dgGroups.Rows.Count;
                    setReady(true, "Số lượng nhóm: " + Program.mainForm.dgGroups.Rows.Count);
                }

                Program.mainForm.btnLogin.Text = "Đăng xuất";
                Program.mainForm.btnLogin.Enabled = true;

                foreach (Control item in Program.mainForm.dgGroups.Controls.OfType<Control>())
                {
                    if (item.Name == "group_loading_gif")
                        Program.mainForm.dgGroups.Controls.Remove(item);
                }
            }
            else
            {
                if (getUrl().Contains("home.php"))
                {
                    goto check_after_login; // check again, just in case 100ms is not enough
                }

                Program.mainForm.txtUser.Enabled = true;
                Program.mainForm.txtPass.Enabled = true;
                foreach (Control item in Program.mainForm.dgGroups.Controls.OfType<Control>())
                {
                    if (item.Name == "group_loading_gif")
                        Program.mainForm.dgGroups.Controls.Remove(item);
                }
                //Program.loadingForm.RequestStop();
                //t.Abort();
                //t.Join();
                if (getUrl().Contains("checkpoint"))
                    MessageBox.Show("Hãy vô hiệu hóa bảo mật tài khoản trước khi sử dụng AUTO!");
                
                MessageBox.Show("Kiểm tra lại thông tin đăng nhập!\nNếu bạn chắc chắn thông tin đăng nhập là đúng,\nhãy đăng nhập lại tài khoản trên trình duyệt trước khi tiếp tục!");
                Program.mainForm.btnLogin.Enabled = true;
                setReady(true);
                return;
            }
            // await Task.Factory.StartNew(() => new WebDriverWait(driver, TimeSpan.FromSeconds(10))); // Chờ tải xong trang
        }
        private async Task ChromeAgent()
        {
            if (driver2 != null)
            {
                return;
            }
            ready2 = false;
            Program.mainForm.lblStatus.Text = "Khởi tạo kết nối nâng cao";

            IEnumerable<int> pidsBefore = Process.GetProcessesByName("chrome").Select(p => p.Id);

            var chromeDriverService = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(Path.GetDirectoryName(Application.ExecutablePath) + @"\App");
            chromeDriverService.HideCommandPromptWindow = true;
            OpenQA.Selenium.Chrome.ChromeOptions chromeDriverOptions = new OpenQA.Selenium.Chrome.ChromeOptions();
            driver2 = await Task.Factory.StartNew(() => new OpenQA.Selenium.Chrome.ChromeDriver(chromeDriverService, chromeDriverOptions));


            IEnumerable<int> pidsAfter = Process.GetProcessesByName("chrome").Select(p => p.Id);
            var newChromePids = pidsAfter.Except(pidsBefore);

            try
            {
                foreach (int pid in newChromePids)
                {
                    int hWnd = Process.GetProcessById(pid).MainWindowHandle.ToInt32();
                    ShowWindow(hWnd, SW_HIDE);
                }
            }
            catch
            {
                MessageBox.Show("Có lỗi xảy ra! Hãy khởi động lại chương trình");
                Exceptions_Handler();
            }

            Program.mainForm.lblStatus.Text = "Thiết lập kết nối nâng cao";

            driver2.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

            await Task.Factory.StartNew(() => driver2.Url = "https://www.facebook.com/");


            WebDriverWait wait = new WebDriverWait(driver2, TimeSpan.FromSeconds(60));

            await Task.Factory.StartNew(() =>
            {
                try
                {
                    driver2.Url = "https://www.facebook.com/";
                }
                catch
                {
                    ((IJavaScriptExecutor)driver2).ExecuteScript("return window.stop()");
                }
            });

            await Task.Factory.StartNew(() =>
            {
                wait.Until<Boolean>((d) =>
                {
                    return ((IJavaScriptExecutor)driver2).ExecuteScript("return document.readyState").Equals("complete");
                });
            });

            try
            {
                driver2.ExecuteScript(@"document.getElementsByName('email')[0].value = '" + System.Web.HttpUtility.JavaScriptStringEncode(Program.mainForm.txtUser.Text) + "';");
            }
            catch
            {
                MessageBox.Show("Đường truyền mạng quá chậm, vui lòng thử lại sau!");
                Exceptions_Handler();
            }

            await Task.Factory.StartNew(() =>
            {
                driver2.ExecuteScript(@"document.getElementsByName('pass')[0].value = '" + System.Web.HttpUtility.JavaScriptStringEncode(Program.mainForm.txtPass.Text) + "';");
                driver2.ExecuteScript(@"document.getElementById('loginbutton').click();");
            });

            await Task.Factory.StartNew(() =>
            {
                wait.Until<Boolean>((d) =>
                {
                    return ((IJavaScriptExecutor)driver2).ExecuteScript("return document.readyState").Equals("complete");
                });
            });

            await TaskEx.Delay(1000);
            ready2 = true;
        }
Ejemplo n.º 37
0
 private static bool DoesPostReturnError(string name, string email, string messageText)
 {
     var driversDir =
       new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Parent.Parent.Parent.GetDirectories()
           .First(d => d.Name == "Drivers");
     using (var driver = new OpenQA.Selenium.Chrome.ChromeDriver(driversDir.FullName))
     {
         driver.Url = BaseUrl + ContactResource;
         driver.Navigate();
         driver.FindElement(By.CssSelector(ContactNameInputSelector)).SendKeys(name);
         driver.FindElement(By.CssSelector(ContactEmailInputSelector)).SendKeys(email);
         driver.FindElement(By.CssSelector(ContactMessageBoxInputSelector)).SendKeys(messageText);
         driver.FindElement(By.CssSelector(ContactSendSelector)).Click();
         Thread.Sleep(1000); // Wait for page navigation to finish
         try
         {
             var p = driver.FindElements(By.CssSelector(ContactErrorSelector));
             if (p == null || p.Count == 0) return false;
             return p.First().Text.Contains("Server Error");
         }
         catch (Exception)
         {
         }
         return false;
     }
 }
Ejemplo n.º 38
0
 private ClientSideViewModel ClientSideCheck(string name, string email, string messageText)
 {
     var driversDir =
        new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Parent.Parent.Parent.GetDirectories()
           .First(d => d.Name == "Drivers");
     using (var driver = new OpenQA.Selenium.Chrome.ChromeDriver(driversDir.FullName))
     {
         driver.Url = BaseUrl + ContactResource;
         driver.Navigate();
         driver.FindElement(By.CssSelector(ContactNameInputSelector)).SendKeys(name);
         driver.FindElement(By.CssSelector(ContactEmailInputSelector)).SendKeys(email);
         driver.FindElement(By.CssSelector(ContactMessageBoxInputSelector))
             .SendKeys(messageText);
         bool emailRequiredVisible =
             driver.FindElement(By.CssSelector(ContactEmailRequiredValidationSelector)).GetCssValue("visibility") !=
             "hidden";
         bool emailInvalidVisible =
             driver.FindElement(By.CssSelector(ContactEmailInvalidValidationSelector)).GetCssValue("visibility") !=
             "hidden";
         bool nameRequiredVisible =
             driver.FindElement(By.CssSelector(ContactNameRequiredValidationSelector)).GetCssValue("visibility") !=
             "hidden";
         bool textRequiredVisible =
             driver.FindElement(By.CssSelector(ContactMessageBoxRequiredValidationSelector))
                 .GetCssValue("visibility") != "hidden";
         return new ClientSideViewModel
         {
             EmailInvalidInputVisible = emailInvalidVisible,
             EmailRequiredVisible = emailRequiredVisible,
             NameRequiredVisible = nameRequiredVisible,
             TextRequiredVisible = textRequiredVisible
         };
     }
 }
Ejemplo n.º 39
0
        static void Main(string[] args)
        {
            var dictionaryFile = args.Length> 0 ? args[0] ?? "TestDictionary.json" : "TestDictionary.json";
            var dict = new List<string>();
            var validAddresses = new List<string>();
            bool goodFile = false;

            try
            {
                dict = JsonConvert.DeserializeObject<List<string>>(File.ReadAllText(dictionaryFile));
                goodFile = true;
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("File doesn't exist.");

            }
            catch(Exception)
            {
                Console.WriteLine("File may be malformed, use JSON format.");
            }

            if (!goodFile) return;

            using (var drv = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                drv.Url = "https://flubit.com/sign-in/forgot-password/";

                foreach (var item in dict)
                {
                    //page forces refresh, so we need to re-grab references.
                    var emailTextBox = drv.FindElementByCssSelector("input[name=\"email\"]");
                    var submitButton = drv.FindElementByCssSelector("#btn_signin");

                    emailTextBox.Clear();
                    emailTextBox.SendKeys(item);

                    submitButton.Click();
                    Thread.Sleep(3000);

                    var alertBox = drv.FindElementByCssSelector(".alert");
                    var cssClasses = alertBox.GetAttribute("class").Split(' ');
                    var isAttachedToAccount = cssClasses.Contains("alert-success");

                    Console.WriteLine("Email: {0} | Attached to an account?: {1} ", item, isAttachedToAccount ? "Yes" : "No");
                    if (isAttachedToAccount) validAddresses.Add(item);
                }

                using(var fs = new FileStream("ValidAccounts.txt", FileMode.OpenOrCreate))
                {
                    var addressText = validAddresses.Aggregate(new StringBuilder(), (sb, text) => sb.Append(text).Append(Environment.NewLine)).ToString();
                    var textBytes = Encoding.UTF8.GetBytes(addressText);

                    fs.Write(textBytes, 0, textBytes.Length);
                    Console.WriteLine("Written out {0} valid account(s) to {1}", validAddresses.Count, fs.Name);
                }

            }

            Console.Read();
        }