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 { } }
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) { } } } }
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(); } } }