Ejemplo n.º 1
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();
            }
        }
Ejemplo n.º 2
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.º 3
0
        static void Main()
        {
            //System.setProperty("webdriver.chrome.driver", "/usr/local/bin/ChromeDriver/chromedriver");
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver();

            // WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
            driver.Manage().Window.Maximize();

            //   driver.Manage().Timeouts().ImplicitWait.Milliseconds.(10, TimeUnit.SECONDS);
            driver.Url = "http://youtube.com";
            driver.FindElement(By.CssSelector("#search")).SendKeys("Денчик грудные");
            driver.FindElement(By.CssSelector("#search-icon-legacy > yt-icon")).Click();
            Thread.Sleep(10000);
            driver.Close();
        }
Ejemplo n.º 4
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.º 5
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();
        }
Ejemplo n.º 6
0
        private void task2()
        {
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver();

            driver.Navigate().GoToUrl("https://www.tutu.ru");

            IWebElement el = driver.FindElement(By.ClassName("j-station_input_from"));

            sendkeys(el, "Москва");
            el = driver.FindElement(By.ClassName("j-station_input_to"));
            sendkeys(el, "Санкт-Петербург");

            el = driver.FindElement(By.ClassName("j-date_to"));
            sendkeys(el, "3.10.2019");
            driver.FindElement(By.ClassName("m-border_inner")).Click();
        }
Ejemplo n.º 7
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.º 8
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.º 9
0
        private void SeleniumVertifyCode(Uri uri)
        {
            var options = new OpenQA.Selenium.Chrome.ChromeOptions();

            options.AddArgument("-headless");
            options.AddArgument("log-level=3");
            using IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(options);
            driver.Manage().Window.Maximize();
            driver.Navigate().GoToUrl(uri);
            driver.Manage().Cookies.AddCookie(new Cookie("QCCSESSID", Cookie, ".qcc.com", "/", null));
            driver.Navigate().GoToUrl(uri);
            driver.ExecuteJavaScript("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})");
            var slide           = driver.FindElement(By.CssSelector("#nc_1_n1z"));
            var verifyContainer = driver.FindElement(By.CssSelector(".nc-lang-cnt"));
            var width           = verifyContainer.Size.Width;
            var action          = new Actions(driver);

            action.ClickAndHold(slide).Perform();
            Random    random    = new Random();
            int       offset    = 0;
            const int minOffset = 10;
            const int maxOffset = 30;

            while (width > offset)
            {
                offset += random.Next(minOffset, maxOffset);
                action.MoveByOffset(offset, 0).Perform();
                var code = driver.FindElement(By.CssSelector(".nc-lang-cnt")).Text;
                if (code.Contains("验证通过"))
                {
                    break;
                }
                System.Threading.Thread.Sleep(offset * minOffset);
            }
            //截图测试
            //Screenshot screenShotFile = ((ITakesScreenshot)driver).GetScreenshot();
            //string img_url = Environment.CurrentDirectory + "\\test.png";
            //screenShotFile.SaveAsFile(img_url, ScreenshotImageFormat.Png);
            action.Click(driver.FindElement(By.CssSelector("#verify"))).Perform();
            driver.Quit();
        }
Ejemplo n.º 10
0
        public void Original()
        {
            //https://www.cnblogs.com/zhaotianff/p/11330810.html
            using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver())
            {
                driver.Navigate().GoToUrl("");  //driver.Url = "http://www.baidu.com"是一样的

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

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

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

                driver.Navigate().GoToUrl("");

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

                var searchButton = driver.FindElement(By.CssSelector(".search-input"));
                searchButton.Click();

                var searchBox = driver.FindElement(By.Id("cc"));
                searchBox.SendKeys("UW123CNMODIFY\nUW456CNMODIFY");//abc\nabc\nabc

                var search = driver.FindElement(By.CssSelector(".button_box> .el-button"));
                search.Click();

                var allSelect = driver.FindElement(By.CssSelector(".has-gutter .el-checkbox__inner"));
                allSelect.Click();

                var informationButton = driver.FindElement(By.CssSelector(".el-dropdown:nth-child(1) span"));
                informationButton.Click();

                Thread.Sleep(1000);

                var informationAction = driver.FindElement(By.CssSelector(".el-dropdown-menu__item--divided"));
                informationAction.Click();
            }
        }
Ejemplo n.º 11
0
        public void Main()
        {
            IWebDriver browser;

            browser = new OpenQA.Selenium.Chrome.ChromeDriver();
            browser.Manage().Window.Maximize();
            browser.Navigate().GoToUrl("https://www.anywayanyday.com/en/");

            IWebElement cityFrom = browser.FindElement(By.ClassName("awadWidget-aviaInput"));

            cityFrom.SendKeys("Moscow" + OpenQA.Selenium.Keys.Enter);
            System.Threading.Thread.Sleep(2000);

            IWebElement cityTo = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div/div/div/div[2]/div[3]/div/div[2]/div/input"));

            cityTo.SendKeys("San Francisco" + OpenQA.Selenium.Keys.Enter);

            IWebElement date = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div/div/div/div[2]/div[3]/div/div[4]/div/div[1]"));

            date.Click();
            System.Threading.Thread.Sleep(2000);

            IWebElement datePick = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div/div/div/div[2]/div[3]/div/div[5]/div/div[2]/div[2]/table/tbody/tr[5]/td[4]/span"));

            datePick.Click();
            System.Threading.Thread.Sleep(2000);

            IWebElement returnFlight = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div[1]/div/div/div[2]/div[4]/div[1]/div[1]"));

            returnFlight.Click();
            System.Threading.Thread.Sleep(2000);
            try
            {
                IWebElement datePickSecond = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div[1]/div/div/div[2]/div[3]/div/div[5]/div/div[2]/div[2]/table/tbody/tr[5]/td[2]/span"));
                datePickSecond.Click();
                System.Threading.Thread.Sleep(2000);
                Assert.AreNotEqual(null, browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div[1]/div/div/div[2]/div[2]/ul/li[2]/div[1]/div[1]/div[1]/div[1]")));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }

            IWebElement searchFlight = browser.FindElement(By.XPath("//*[@id=\"sidebar\"]/div/div/div/div/div[2]/div[4]/a"));

            searchFlight.Click();
            System.Threading.Thread.Sleep(2000);
        }
        public void SelectOptnTest()
        {
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(@"C:\Users\Vinod Kumar\Documents\Visual Studio 2015\Projects\ToolsQA\packages");

            driver.Manage().Window.Maximize();
            driver.Url = "https://accounts.google.com/signin/v2/sl/pwd?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=AddSession&cid=0&navigationDirection=forward";
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
            driver.FindElement(By.XPath("//input[@id='identifierId']")).Click();
            IWebElement ele = driver.FindElement(By.XPath("//input[@id='identifierId']"));

            File.ReadAllText(@"ToolsQA\");
            //driver.FindElement(By.XPath("//input[@id='identifierId']")).SendKeys("vinodkumarvinni");
            driver.FindElement(By.Id("next")).Click();

            //driver.Navigate().GoToUrl("http://toolsqa.wpengine.com/automation-practice-form/");
            //driver.Manage().Timeouts().ImplicitWait=TimeSpan.FromSeconds(20);
            //SelectElement oSelection = new SelectElement(driver.FindElement(By.Name("selenium_commands")));
            //oSelection.SelectByIndex(0);
            //Thread.Sleep(2000);
            //oSelection.DeselectByIndex(0);
            //Thread.Sleep(2000);
            //oSelection.SelectByText("Navigation Commands");
            //Thread.Sleep(2000);
            //oSelection.DeselectByText("Navigation Commands");
            //Thread.Sleep(2000);
            //IList<IWebElement> selectOptions = oSelection.Options;
            //int lstSelect = selectOptions.Count;
            //for(int i=0;i<lstSelect;i++)
            //{
            //    string lstOptions = oSelection.Options.ElementAt(i).Text;
            //    Console.WriteLine("Select Options "+lstOptions);
            //    oSelection.SelectByIndex(i);
            //    //Thread.Sleep(5000);
            //}
            //oSelection.DeselectAll();
            driver.Quit();
        }
Ejemplo n.º 13
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Selenium Test Project - 1");

            // TODO: Implement Functionality Here
            IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver("C:\\Users\\guptap\\Documents\\SharpDevelop Projects\\Test\\Selenium1");


//CHROME : GET TEXT PROPERTIES
            driver.Navigate().GoToUrl("https://www.sqs.com/en/index.php");
            //System.Threading.Thread.Sleep(10000);


            //working with css
            IWebElement wElement         = driver.FindElement(By.CssSelector(".col-xs-8.teaser-text>h2"));
            String      wElementColorRGB = wElement.GetCssValue("color");

            Console.WriteLine("RGB value of the text is :" + wElementColorRGB);

            //split and set
            StringToHexa objClass = new StringToHexa();

            objClass.splitAndSet(wElementColorRGB);

//RGB to HEX using System.Drawing.Color class
            //String s = StringToHexa.HexConverter(wElementColorRGB);


//RGB to HEX using algorithm
            //Color myColor = Color.FromArgb(255, 181, 178);
            //String hex = myColor.R.ToString("X2") + myColor.G.ToString("X2") + myColor.B.ToString("X2");


//RGB to HEX using struct
            RGB    data  = new RGB(rColor, gcolor, bColor);
            String value = RGBToHexadecimal(data);

            Console.WriteLine("The text color(RGB) of sub heading Transforming The World Through Quality is: "
                              + value);

            if (expectedHexaValueOfheading == value)
            {
                Console.WriteLine("expected value achieved");
            }
            Console.ReadLine();
            //driver.Close();
            //driver.Quit();   css : .col-xs-8.teaser-text>h2 //xpath not working : //div[class='col-xs-8 teaser-text']/h2
        }
        public void WhenSecondDateEarlierFirst()
        {
            bool       passTest   = false;
            bool       isSelected = false;
            IWebDriver Browser;

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

            IWebElement InputFrom = Browser.FindElement(By.Id("from_name"));

            InputFrom.Clear();
            InputFrom.SendKeys("Лондон");
            System.Threading.Thread.Sleep(1100);
            //   InputFrom.SendKeys(OpenQA.Selenium.Keys.Enter);

            IWebElement InputTo = Browser.FindElement(By.Id("to_name"));

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

            IWebElement DepatrureDate_first = Browser.FindElement(By.Id("departure_date"));

            DepatrureDate_first.Click();
            IWebElement Calendar_datefirst = Browser.FindElement(By.ClassName("date_1548882000000"));

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

            IWebElement DepatrureDate_second = Browser.FindElement(By.Id("departure_date_1"));

            DepatrureDate_second.Click();

            IWebElement Calendar_datesecond = Browser.FindElement(By.ClassName("date_1548795600000"));

            System.Threading.Thread.Sleep(1000);
            Calendar_datesecond.Click();
            isSelected = Calendar_datesecond.Selected;

            if (!isSelected)
            {
                passTest = true;
            }

            Assert.IsTrue(passTest, "Second date is earlear then first. Input Error.");
        }
Ejemplo n.º 15
0
        public void TestMethod1()
        {
            var capabilities = DesiredCapabilities.InternetExplorer();

            var driver = new OpenQA.Selenium.Chrome.ChromeDriver(@".\");

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

            Console.WriteLine(driver.Title);



            IWebElement query = driver.FindElement(By.Name("q"));

            query.SendKeys("TestingBot");

            query.Submit();

            Console.WriteLine(driver.Title);



            driver.Quit();
        }
Ejemplo n.º 16
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.º 17
0
        static void Main(string[] args)
        {
            IWebDriver Browser;

            Browser = new OpenQA.Selenium.Chrome.ChromeDriver();
            string pathQshSave = @"C:\Users\mmzhi\Downloads\qsh";

            if (Directory.Exists)
            {
                Console.WriteLine($"{pathQshSave} - не существует");
                Console.ReadKey();
            }

            string[] foldersQsh = Directory.GetDirectories(pathQshSave);

            for (int i = 0; i < foldersQsh.Length; i++)
            {
                try
                {
                    foldersQsh[i] = foldersQsh[i].Replace($"{pathQshSave}\\", string.Empty);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            Browser.Navigate().GoToUrl("http://erinrv.qscalp.ru/");

            System.Threading.Thread.Sleep(2000);

            var xPath = By.XPath("/html/body/pre/a");

            ReadOnlyCollection <IWebElement> SearchDates = Browser.FindElements(xPath);

            List <DayUrl> DatesUrl = new List <DayUrl>();

            foreach (var date in SearchDates)
            {
                if (Array.IndexOf(foldersQsh, date.Text) < 0)
                {
                    DatesUrl.Add(new DayUrl("http://erinrv.qscalp.ru/" + date.Text, date.Text));
                }
            }

            foreach (var DateUrl in DatesUrl)
            {
                Browser.Navigate().GoToUrl(DateUrl.url);

                System.Threading.Thread.Sleep(2000);

                ReadOnlyCollection <IWebElement> equitys = Browser.FindElements(By.XPath(xPath));

                List <EquityURL> equitysURLs = new List <EquityURL>();

                for (int i = 1; i < equitys.Count; i++)
                {
                    equitysURLs.Add(new EquityURL($"{DateUrl.url}/{equitys[i].Text}", equitys[i].Text));
                }

                if (!Directory.Exists($"{pathQshSave}\\{DateUrl.day}"))
                {
                    Directory.CreateDirectory($"{pathQshSave}\\{DateUrl.day}");
                }

                foreach (var equityURL in equitysURLs)
                {
                    try
                    {
                        Browser.FindElement(By.LinkText(equityURL.nameFolder)).Click();

                        System.Threading.Thread.Sleep(1000);

                        File.Move($"{ pathQshSave.Replace("qsh", string.Empty)}{equityURL.nameFolder}", $"{pathQshSave}\\{DateUrl.day}\\{equityURL.nameFolder}");
                    }
                    catch (Exception exc)
                    {
                        Console.WriteLine(exc.Message);
                    }
                }
            }

            Console.ReadKey();
        }
Ejemplo n.º 18
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.º 19
0
        static void Main(string[] args)
        {
            List <string> Vals      = reader("C:\\Users\\User\\Downloads\\Telegram Desktop\\input_formatted.csv"); // список всех регистрационных номеров, очищенный
            List <string> ValsError = reader("C:\\Users\\User\\Downloads\\Telegram Desktop\\input_full.csv");      // список всех регистрационных номеров, неочищенный

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

            XmlDocument   MainDoc = new XmlDocument();
            XmlTextWriter Writer  = new XmlTextWriter("C:\\Users\\User\\Downloads\\Telegram Desktop\\output.xml", Encoding.UTF8);

            Writer.WriteStartDocument();
            Writer.WriteStartElement("head");
            Writer.WriteEndElement();
            Writer.Close();

            MainDoc.Load("C:\\Users\\User\\Downloads\\Telegram Desktop\\output.xml");


            string urlMain = "http://company.lursoft.lv/ru/"; // основная часть ссылки, к ней будут добавляться регистрационные номера

            Console.SetBufferSize(Console.BufferWidth, 1000); // а вот это для длины консоли

            List <int> statistics = new List <int>();

            IWebDriver DriverChrome = new OpenQA.Selenium.Chrome.ChromeDriver();

            for (int i = 0; i < Vals.Count; i++)
            {
                try
                {
                    string CurrentUrl = urlMain + Vals[i];
                    DriverChrome.Navigate().GoToUrl(CurrentUrl);
                    int statisticsCount = 0;

                    ReadOnlyCollection <IWebElement> ListTD = DriverChrome.FindElements(By.TagName("td"));

                    char empty = ' ';
                    if (ListTD.Count > 0 && ListTD[0].Text.Equals("Network Error (tcp_error)")) // вылетела ошибка TCP(сервер перегружен)
                    {
                        statisticsCount++;
                        i--;
                        continue;
                    }
                    else if (ListTD.Count == 0) // не найдено
                    {
                        statistics.Add(statisticsCount);
                        List <string> CurrentList = new List <string>();

                        CurrentList.Add((i + 1).ToString()); // RecordID
                        CurrentList.Add("-");                // Name
                        CurrentList.Add("-");                // OrgForm
                        CurrentList.Add(ValsError[i]);       // RegNum
                        CurrentList.Add("-");                // RegDate
                        CurrentList.Add("-");                // SEPA
                        CurrentList.Add("-");                // NDSNum
                        CurrentList.Add("-");                // IsActual
                        CurrentList.Add("-");                // Address
                        CurrentList.Add("-");                // RegisterNo
                        CurrentList.Add("-");                // RegisterDate
                        CurrentList.Add("-");                // LastUpdate
                        CurrentList.Add("-");                // Website
                        CurrentList.Add("-");                // Email
                        CurrentList.Add("-");                // Phone
                        CurrentList.Add("-");                // Fax
                        CurrentList.Add("false");            // IsFound

                        output.Add(CurrentList);
                    }
                    else // найдено
                    {
                        statistics.Add(statisticsCount);
                        string Name = "", OrgForm = "", RegNum = "", RegDate = "", Sepa = "", NDSNum = "",
                               IsActual = "", Address = "", RegisterNo = "", RegisterDate = "", LastUpdate = "", Website = "", Email = "", Phone = "", Fax = "", IsFound = "true";
                        Regex NDS = new Regex("LV\\d{8,15}");
                        Match match;

                        ReadOnlyCollection <IWebElement> ListImg = DriverChrome.FindElements(By.TagName("img"));
                        bool ImgFlag = false;

                        for (int j = 0; j < ListImg.Count; j++)
                        {
                            if (ListImg[j].GetAttribute("alt").ToString().Equals("Активный"))
                            {
                                IsActual = "true";
                                ImgFlag  = true;
                            }
                            else if (ListImg[j].GetAttribute("alt").ToString().Equals(" PVN_ne"))
                            {
                                IsActual = "false";
                                ImgFlag  = true;
                            }
                        }

                        if (ImgFlag == false)
                        {
                            IsActual = "-";
                        }
                        List <string> matches = new List <string>();
                        bool          regFlag = false;
                        for (int j = 0; j < ListTD.Count; j++)
                        {
                            match = NDS.Match(ListTD[j].Text);
                            matches.Add(match.Value.ToString());


                            switch (ListTD[j].Text)
                            {
                            case "Название":
                                string tmp5     = ListTD[++j].Text;
                                int    Position = tmp5.IndexOf('П');
                                if (Position == -1)
                                {
                                    Name = tmp5;
                                }
                                else
                                {
                                    Name = tmp5.Substring(0, Position);
                                }
                                Name = Name.Replace('\n', empty);
                                Name = Name.Replace('\r', empty);
                                break;

                            case "Данные из реестра плательщиков НДС":
                                string tmp4 = ListTD[++j].Text;
                                if (tmp4.Equals("Нет"))
                                {
                                    NDSNum   = "-";
                                    IsActual = "-";
                                }
                                break;

                            case "Правовая форма":
                                OrgForm = ListTD[++j].Text;
                                break;

                            case "Регистрационный номер, дата":
                                string[] tmp = ListTD[++j].Text.Split(',');
                                RegNum  = tmp[0];
                                RegDate = tmp[1].Substring(1, tmp[1].Length - 1);
                                break;

                            case "Идентификатор SEPA":
                                Sepa = ListTD[++j].Text;
                                break;

                            case "Юридический адрес":
                                string tmp2      = ListTD[++j].Text;
                                int    Position2 = tmp2.IndexOf('П');
                                if (Position2 == -1)
                                {
                                    Address = tmp2;
                                }
                                else
                                {
                                    Address = tmp2.Substring(0, Position2);
                                }
                                Address = Address.Replace('\n', empty);
                                Address = Address.Replace('\r', empty);
                                break;

                            case "Регистрационное удостоверение":
                                regFlag = true;
                                string[] tmp3 = ListTD[++j].Text.Split(' ');
                                RegisterNo   = tmp3[0] + " " + tmp3[1];
                                RegisterDate = tmp3[2];
                                break;

                            case "Последнее обновление в Регистре Предприятий":
                                LastUpdate = ListTD[++j].Text;
                                break;
                            }
                            if (!regFlag)
                            {
                                RegisterNo   = "-";
                                RegisterDate = "-";
                            }
                        }

                        for (int j = 0; j < matches.Count; j++)
                        {
                            if (!matches[j].Equals(""))
                            {
                                NDSNum = matches[j];
                                break;
                            }

                            if (j == matches.Count - 1)
                            {
                                NDSNum = "-";
                            }
                        }

                        DriverChrome.SwitchTo().Frame(0);

                        ReadOnlyCollection <IWebElement> ListPhones = DriverChrome.FindElements(By.ClassName("vizitka_contact_phone"));
                        IWebElement Web = DriverChrome.FindElement(By.ClassName("vizitka_contact_web"));



                        if (ListPhones[0].Text.IndexOf('+') == -1)
                        {
                            Phone = "-";
                        }
                        else
                        {
                            Phone = ListPhones[0].Text.Substring(ListPhones[0].Text.IndexOf('+'));
                        }

                        if (ListPhones[1].Text.IndexOf('+') == -1)
                        {
                            Fax = "-";
                        }
                        else
                        {
                            Fax = ListPhones[1].Text.Substring(ListPhones[1].Text.IndexOf('+'));
                        }


                        string[] Webs = Web.Text.Split('\n');

                        if (Webs[0].Equals("Добавь адрес сайта\r"))
                        {
                            Email = "-";
                        }
                        else
                        {
                            Email = Webs[0];
                            Email = Email.Replace('\n', empty);
                            Email = Email.Replace('\r', empty);
                        }

                        if (Webs[1].Equals("Добавь адрес эл. почты"))
                        {
                            Website = "-";
                        }
                        else
                        {
                            Website = Webs[1];
                        }

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

                        CurrentList.Add((i + 1).ToString());    // RecordID
                        CurrentList.Add(Name);                  // Name
                        CurrentList.Add(OrgForm);               // OrgForm
                        CurrentList.Add(RegNum);                // RegNum
                        CurrentList.Add(RegDate);               // RegDate
                        CurrentList.Add(Sepa);                  // SEPA
                        CurrentList.Add(NDSNum);                // NDSNum
                        CurrentList.Add(IsActual);              // IsActual
                        CurrentList.Add(Address);               // Address
                        CurrentList.Add(RegisterNo);            // RegisterNo
                        CurrentList.Add(RegisterDate);          // RegisterDate
                        CurrentList.Add(LastUpdate);            // LastUpdate
                        CurrentList.Add(Website);               // Website
                        CurrentList.Add(Email);                 // Email
                        CurrentList.Add(Phone);                 // Phone
                        CurrentList.Add(Fax);                   // Fax
                        CurrentList.Add(IsFound);               // IsFound

                        output.Add(CurrentList);
                    }
                }
                catch
                {
                    i--;
                }
            }

            //Excel.Application ExcelApp;
            //ExcelApp = new Excel.Application();
            //ExcelApp.Visible = true;
            //ExcelApp.SheetsInNewWorkbook = 1;
            //ExcelApp.Workbooks.Add(Type.Missing);

            //Excel.Workbooks WorkBooks = ExcelApp.Workbooks;
            //Excel.Workbook Workbook = WorkBooks[1];
            //Excel.Sheets ExcelSheets = Workbook.Worksheets;
            //Excel.Worksheet CurrentSheet = (Excel.Worksheet)ExcelSheets.get_Item(1);

            //Excel.Range cell;
            //cell = CurrentSheet.get_Range("A1", Type.Missing);
            //cell = cell.get_Offset(1, 0);

            //for (int i = 0; i < output.Count; i++)
            //{
            //    for (int j = 0; j < output[i].Count; j++)
            //    {
            //        cell.Value2 = output[i][j];
            //        cell = cell.get_Offset(0, 1);
            //    }
            //    cell = cell.get_Offset(1, -17);
            //}

            XmlDocument   MainDoc2 = new XmlDocument();
            XmlTextWriter Writer2  = new XmlTextWriter("C:\\Users\\User\\Downloads\\Telegram Desktop\\output1.xml", Encoding.UTF8);

            Writer2.WriteStartDocument();
            Writer2.WriteStartElement("head");
            Writer2.WriteEndElement();
            Writer2.Close();

            MainDoc.Load("C:\\Users\\User\\Downloads\\Telegram Desktop\\output1.xml");

            for (int i = 0; i < output.Count; i++)
            {
                XmlNode Element = MainDoc2.CreateElement("BusinessPartner");
                MainDoc2.DocumentElement.AppendChild(Element);

                XmlNode RecordID = MainDoc2.CreateElement("RecordID");
                RecordID.InnerText = output[i][0];
                Element.AppendChild(RecordID);

                XmlNode Name = MainDoc2.CreateElement("Name");
                Name.InnerText = output[i][1];
                Element.AppendChild(Name);

                XmlNode OrgForm = MainDoc2.CreateElement("OrgForm");
                OrgForm.InnerText = output[i][2];
                Element.AppendChild(OrgForm);

                XmlNode RegNum = MainDoc2.CreateElement("RegNum");
                RegNum.InnerText = output[i][3];
                Element.AppendChild(RegNum);

                XmlNode RegDate = MainDoc2.CreateElement("RegDate");
                RegDate.InnerText = output[i][4];
                Element.AppendChild(RegDate);

                XmlNode Sepa = MainDoc2.CreateElement("Sepa");
                Sepa.InnerText = output[i][5];
                Element.AppendChild(Sepa);

                XmlNode NDSNum = MainDoc2.CreateElement("NDSNum");
                NDSNum.InnerText = output[i][6];
                Element.AppendChild(NDSNum);

                XmlNode IsActual = MainDoc2.CreateElement("IsActual");
                IsActual.InnerText = output[i][7];
                Element.AppendChild(IsActual);

                XmlNode Address = MainDoc2.CreateElement("Address");
                Address.InnerText = output[i][8];
                Element.AppendChild(Address);

                XmlNode RegisterNo = MainDoc2.CreateElement("RegisterNo");
                RegisterNo.InnerText = output[i][9];
                Element.AppendChild(RegisterNo);

                XmlNode RegisterDate = MainDoc2.CreateElement("RegisterDate");
                RegisterDate.InnerText = output[i][10];
                Element.AppendChild(RegisterDate);

                XmlNode LastUpdate = MainDoc2.CreateElement("LastUpdate");
                LastUpdate.InnerText = output[i][11];
                Element.AppendChild(LastUpdate);

                XmlNode Website = MainDoc2.CreateElement("Website");
                Website.InnerText = output[i][12];
                Element.AppendChild(Website);

                XmlNode Email = MainDoc2.CreateElement("Email");
                Email.InnerText = output[i][13];
                Element.AppendChild(Email);

                XmlNode Phone = MainDoc2.CreateElement("Phone");
                Phone.InnerText = output[i][14];
                Element.AppendChild(Phone);

                XmlNode Fax = MainDoc2.CreateElement("Fax");
                Fax.InnerText = output[i][15];
                Element.AppendChild(Fax);

                XmlNode IsFound = MainDoc2.CreateElement("IsFound");
                IsFound.InnerText = output[i][16];
                Element.AppendChild(IsFound);
            }

            MainDoc2.Save("C:\\Users\\User\\Downloads\\Telegram Desktop\\output.xml");
        }
Ejemplo n.º 20
0
        public void Check(string login, string password, IWebDriver browser)
        {
            var store = new Store();
            var user  = new User(login, password);

            var fs = new FileStream(store.LogFileName("Sears"), FileMode.Append, FileAccess.Write);
            var sw = new StreamWriter(fs);

            sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "|" + login + "|false");
            sw.Close();
            fs.Close();

            try
            {
                browser = new OpenQA.Selenium.Chrome.ChromeDriver();
                browser.Manage().Window.Maximize();
                browser.Navigate().GoToUrl("http://www.sears.com/");
                browser.Navigate()
                .GoToUrl(
                    "https://www.sears.com/universalprofile/userLogonForm?upid=3&formName=LOGIN&URL=http%3A%2F%2Fwww.sears.com%2F");
                Thread.Sleep(1000);
                browser.FindElement(By.XPath("//*[@id=\"email\"]")).Click();
                browser.FindElement(By.XPath("//*[@id=\"email\"]")).Clear();
                browser.FindElement(By.XPath("//*[@id=\"email\"]")).SendKeys(user.Login);
                browser.FindElement(By.XPath("//*[@id=\"password\"]")).Click();
                browser.FindElement(By.XPath("//*[@id=\"password\"]")).Clear();
                browser.FindElement(By.XPath("//*[@id=\"password\"]")).SendKeys(user.Password);
                browser.FindElement(By.CssSelector("button.shcBtn.shcBtnCTA.signIn")).Click();
                Thread.Sleep(1000);
                ((ITakesScreenshot)browser).GetScreenshot().SaveAsFile(store.ScreenShotFileName("Sears", user.Login),
                                                                       System.Drawing.Imaging.ImageFormat.Jpeg);
                browser.Manage().Cookies.DeleteAllCookies();
                browser.Quit();
            }
            catch (InvalidOperationException)
            {
                Store.ResultMessage("many");
                browser.Quit();
                Environment.Exit(0);
            }
            catch (NoSuchElementException e)
            {
                var result = MessageBox.Show("Something wrong: " + "\r\n" + e.Message,
                                             "Error",
                                             MessageBoxButton.OKCancel,
                                             MessageBoxImage.Error,
                                             MessageBoxResult.OK,
                                             MessageBoxOptions.ServiceNotification);

                switch (result)
                {
                case MessageBoxResult.OK:
                    sw.Close();
                    fs.Close();
                    Check(login, password, browser);
                    break;

                case MessageBoxResult.Cancel:
                    sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "|" + login +
                                 "|" + password + "|exception|" + e.Message);
                    break;
                }
            }
            catch (WebDriverException)
            {
                Store.ResultMessage("many");
                browser.Quit();
                Environment.Exit(0);
            }
            finally
            {
                sw.Close();
                fs.Close();
            }
        }