Ejemplo n.º 1
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.º 2
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.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            //    driver.Navigate().GoToUrl("https://xue.17xueba.com/views/activity/wishes/view.vpage?id=35&type=3&p=5e09a152246cff75f8669c69");  //driver.Url = "http://www.baidu.com"是一样的

            DateTime startTime, ones;

            startTime = DateTime.Now;

            int count = 1000;

            for (int i = 0; i < count; i++)
            {
                try
                {
                    Stopwatch sw = new Stopwatch();

                    using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver())
                    {
                        sw.Start();
                        driver.Navigate().GoToUrl("https://xue.17xueba.com/views/activity/wishes/view.vpage?id=35&type=3&p=5e09a152246cff75f8669c69");
                        Thread.Sleep(new Random().Next(1, 2) * 1000);
                        driver.FindElements(By.ClassName("wishes-btn"))[0].Click(); //模拟鼠标点击元素
                        Thread.Sleep(new Random().Next(1, 2) * 1000);

                        var byXPath = driver.FindElements(By.XPath("/html/body/div/section/div/section/div[2]/div[1]/div/div/div[2]/div[3]/div"));

                        sw.Stop();
                        ones = DateTime.Now;
                        TimeSpan tss = startTime.Subtract(ones);
                        Console.WriteLine("\r\n目前点赞票数:" + byXPath[0].Text + "\r\n本次刷票计划点赞票数:" + count + "\r\n本次刷票已点赞票数:" + (i + 1) + "\r\n本次剩余点赞票数:" + (count - i - 1) + "\r\n本次点赞耗时(秒):" + sw.Elapsed.TotalSeconds.ToString() + "\r\n程序执行时间:" + tss.ToString(@"hh\:mm\:ss"));
                        driver.Close();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("\r\n" + ex + "\r\n");
                    //throw;
                }
            }
            Console.WriteLine("\r\n本次刷票结束,按任意键退出");
            Console.ReadLine();
        }
Ejemplo n.º 4
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.º 5
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.º 6
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();
        }