Esempio n. 1
0
        public void  Authenticate(string login, string password) //Авторизация
        {
            _controlFormProgramm.FirstStateProgramm();
            _controlFormProgramm.ProcessBarSetValue(10);
            _controlFormProgramm.SetTextStateLabel("Идёт процесс авторизации ..");
            _driver.Navigate().GoToUrl("https://www.instagram.com/accounts/login/");
            _driver.FindElement(By.CssSelector("input[name='username']")).SendKeys(login);
            _driver.FindElement(By.CssSelector("input[name='password']")).SendKeys(password);
            _driver.FindElement(By.CssSelector("input[name='password']")).SendKeys(OpenQA.Selenium.Keys.Enter);
            _controlFormProgramm.ProcessBarSetValue(40);


            try //логин и пасс не подхзодят (без смс)
            {
                String err = _driver.FindElement(By.CssSelector("#slfErrorAlert")).Text;

                ControlFormProgramm.MsgLogBox.AddMsg(err);
                _controlFormProgramm.NoAuthAccount();
                _controlFormProgramm.ProcessBarSetValue(100);
                _controlFormProgramm.SetTextStateLabel("Ошибка.");

                Console.WriteLine(err);
                accountIsLoggedIn = 0;
            }
            catch (Exception) { //логин и пасс подходят
                ControlFormProgramm.MsgLogBox.AddMsg("Логин и пароль, прошли проверку");
                Console.WriteLine("log and pass is good");
                _controlFormProgramm.ProcessBarSetValue(70);

                if (IsSMSOnPagePresent("Подозрительная попытка входа") == true) //чек на СМС
                {
                    ControlFormProgramm.MsgLogBox.AddMsg("Необходима смс верификация");
                    PostSMS(); //post SMS
                }
                else
                {
                    ControlFormProgramm.MsgLogBox.AddMsg("Cмс верификация не требуется");
                    try
                    {
                        _controlFormProgramm.ProcessBarSetValue(90);
                        // _driver.FindElement(By.CssSelector("body > div.RnEpo.Yx5HN > div > div > div.mt3GC > button.aOOlW.HoLwm")).Click(); //отменяем опвещения
                        _controlFormProgramm.YesAuthAccount();
                        _controlFormProgramm.ProcessBarSetValue(100);
                        _controlFormProgramm.SetTextStateLabel("Процесс авторизации завершен.");
                        ControlFormProgramm.MsgLogBox.AddMsg("Внимание! Перед началом работы, внимательно ознакомтесь с ограничениями и лимитами инстаграма: http://instagrammar.ru/raskrutka/limity-i-ogranicheniya-instagram-podpiski-i-podpischiki-otpiski-i-lajki/");
                        ControlFormProgramm.MsgLogBox.AddMsg("Программа готова к работе..");

                        accountIsLoggedIn = 1;
                    }
                    catch (Exception) { }
                }
            }
        }
Esempio n. 2
0
        public void MarkRun(string url, string endUrl, string htmlOpenPost, string htmlClickButtonMark, string htmlNextPost, string htmlGetButtonMark, string nameAttributButtonMark, string htmlTextPanel, int time_wait, int limit, string filters_positive, string filters_negative, CancellationToken cancelToken)
        {
            _driver.Navigate().GoToUrl(url + endUrl);
            _driver.FindElement(By.CssSelector(htmlOpenPost)).Click(); // открыть пост Самая первая запись в теге
            double dlimit = Convert.ToDouble(limit);



            for (int i = 1; i <= limit; i++)
            {
                if (Form1.stoped != 1)
                {
                    try
                    {
                        if (GetIsCheckedLike(htmlGetButtonMark, nameAttributButtonMark) == false && Filters_positive_word(filters_positive, htmlTextPanel) == true && Filters_negative_word(filters_negative, htmlTextPanel) == false)

                        {
                            double di = Convert.ToDouble(i);



                            _driver.FindElement(By.CssSelector(htmlClickButtonMark)).Click(); //кнопка лайка в открытом посте
                            ControlFormProgramm.MsgLogBox.AddMsg(_driver.Url + " метка добавлена" + " (" + positive_filter_view_in_msg_box + ")");
                            _controlFormProgramm.ProcessBarSetValue(Convert.ToInt32(di / dlimit * 100));
                            _controlFormProgramm.SetTextStateLabel(limit + " / " + i + " (" + Convert.ToInt32(di / dlimit * 100) + " %)");
                            _driver.FindElement(By.CssSelector(htmlNextPost)).Click(); //следующий пост


                            cancelToken.WaitHandle.WaitOne(TimeSpan.FromSeconds(time_wait));
                            _controlFormProgramm.reWriteXMLConfig(i); //перезапписать конфиг
                        }
                        else
                        {
                            cancelToken.WaitHandle.WaitOne(TimeSpan.FromSeconds(1));
                            ControlFormProgramm.MsgLogBox.AddMsg(_driver.Url + " пропускаем (" + negative_filter_view_in_msg_box + ")");
                            _driver.FindElement(By.CssSelector(htmlNextPost)).Click(); //следующий пост


                            i = i - 1;
                            double di = Convert.ToDouble(i);
                            _controlFormProgramm.SetTextStateLabel(limit + " / " + i + " (" + Convert.ToInt32(di / dlimit * 100) + " %)");
                        }

                        if (i >= limit)
                        { //цикл выполнен
                            _controlFormProgramm.ProcessBarSetValue(100);
                            ControlFormProgramm.MsgLogBox.AddMsg("=======================");
                            ControlFormProgramm.MsgLogBox.AddMsg("      Завершено.");
                            ControlFormProgramm.MsgLogBox.AddMsg("=======================");
                            _controlFormProgramm.SetTextStateLabel("Завершено.");
                            _controlFormProgramm.Stop();
                        }
                    }
                    catch (Exception e)
                    {
                        ControlFormProgramm.MsgLogBox.AddMsg("Error: " + e.Message);
                        i = i - 1;
                        _driver.FindElement(By.CssSelector(htmlNextPost)).Click(); //следующий пост
                    }
                }                                                                  //принудительная остановка
                else
                {
                    i = limit;
                    _controlFormProgramm.ProcessBarSetValue(100);
                    ControlFormProgramm.MsgLogBox.AddMsg("=======================");
                    ControlFormProgramm.MsgLogBox.AddMsg("      Остановлено.");
                    ControlFormProgramm.MsgLogBox.AddMsg("=======================");
                    _controlFormProgramm.SetTextStateLabel("Остановлено.");
                    _controlFormProgramm.Stop();
                }
            }
        }
Esempio n. 3
0
        public void Start()
        {
            _props.setXML(0); //save cfg
            _сontrolFormProgramm.ProcessBarSetValue(0);
            stoped = 0;
            ControlFormProgramm.MsgLogBox.AddMsg("Процесс запущен, ожидание потока..");
            String tag       = textBox3.Text;
            String geonumber = textBox4.Text;
            int    time_wait = Int32.Parse(textBox5.Text);
            int    limit     = Int32.Parse(textBox6.Text);

            _сontrolFormProgramm.Start();
            label3.Text = "000 / 00 (00 %)";
            String filters_positive = textBox7.Text.Trim().Replace(" ", "");

            if (filters_positive.Substring(filters_positive.Length - 1, 1) == ",")
            {
                filters_positive = filters_positive.Remove(filters_positive.Length - 1);
            }                                                                                                                                                   //обрезать если лишняя запятая в фтльтрах
            String filters_negative = textBox8.Text.Trim().Replace(" ", "");

            if (filters_negative.Substring(filters_negative.Length - 1, 1) == ",")
            {
                filters_negative = filters_negative.Remove(filters_negative.Length - 1);
            }                                                                                                                                                   //обрезать если лишняя запятая в фтльтрах
            _tokenSource = new CancellationTokenSource();

            CancellationToken cancelToken = _tokenSource.Token;

            try
            {
                //обратите внимание на передачу токена отмены, и экземпл. прогресса


                Task.Factory.StartNew(() => {  //new thread
                    if (radioButton1.Checked == true)
                    {
                        if (radioButton3.Checked == true)
                        {
                            _like.Tags(tag, time_wait, limit, filters_positive, filters_negative, cancelToken);
                        }
                        if (radioButton4.Checked == true)
                        {
                            _like.Geolocation(geonumber, time_wait, limit, filters_positive, filters_negative, cancelToken);
                        }
                    }
                    if (radioButton6.Checked == true)
                    {
                        if (radioButton3.Checked == true)
                        {
                            //подписка по тэгу
                            _subscribe.Tags(tag, time_wait, limit, filters_positive, filters_negative, cancelToken);
                        }
                        if (radioButton4.Checked == true)
                        {
                            _subscribe.Geolocation(geonumber, time_wait, limit, filters_positive, filters_negative, cancelToken);
                        }
                    }
                });
            }
            catch (OperationCanceledException)
            {
                Console.WriteLine("Задача отменена.");
            }
            catch (Exception ex)
            {
                MessageBox.Show("В задаче произошла ошибка: " + ex, "Threads error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }