예제 #1
0
        private void Form1_Shown(object sender, EventArgs e)
        {
            _props.getXML();

            licencie();

            if (автозапускToolStripMenuItem.Checked == true)
            {
                //  _autoRun.AutoRunOn();


                Hide();
                notifyIcon1.Visible = true;
                String login    = textBox1.Text;
                String password = textBox2.Text;

                if (login == licencie_name_of || licencie_name_of == "trial")
                {
                    Task.Factory.StartNew(() =>
                    {     //new thread
                        for (int i = 1; i <= ConstantsApp.timer_of_autostart; i++)
                        { //задержка минут перед автостартом
                            if (автозапускToolStripMenuItem.Checked == true)
                            {
                                Thread.Sleep(1000);
                                _сontrolFormProgramm.SetTextStateLabel("До автостарта: " + (ConstantsApp.timer_of_autostart - i) + " сек. (меню для отмены)");
                                if (i == ConstantsApp.timer_of_autostart)
                                {
                                    _authenticator.Authenticate(login, password);
                                    if (Authenticator.accountIsLoggedIn == 1)
                                    {
                                        BeginInvoke(new MethodInvoker(delegate
                                        {
                                            Start();
                                        }));
                                    }
                                }
                            }
                            else
                            {
                                _сontrolFormProgramm.SetTextStateLabel("Автостарт отменен.");
                            }
                        }
                    });  //end thread
                }
                else
                {
                    MessageBox.Show("Лицензия не соотвествует Вашему аккаунту", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
            }
        }
예제 #2
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) { }
                }
            }
        }
예제 #3
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();
                }
            }
        }