public Form1() { ChromeOptions options = new ChromeOptions(); options.AddArguments("window-size=1800x1080"); options.AddArguments("--disable-gpu"); options.AddArguments("--disable-extensions"); options.AddArguments("--max_old_space_size=512"); options.AddArguments("--start-maximized"); options.AddArguments("--no-sandbox"); options.AddArguments("--disable-dev-shm-usage"); options.AddArguments("--headless"); // var dir_chrome_browser = Directory.GetCurrentDirectory() + "\\Chrome\\Application1\\chrome.exe"; // options.BinaryLocation = dir_chrome_browser; //options.AddArguments("start-maximized"); // open Browser in maximized mode //options.AddArguments("disable-infobars"); // disabling infobars //options.AddArguments("--disable-extensions"); // disabling extensions //options.AddArguments("--disable-gpu"); // applicable to windows os only //options.AddArguments("--disable-dev-shm-usage"); // overcome limited resource problems //options.AddArguments("--no-sandbox"); // Bypass OS security model // web = new ChromeDriver(@"D:/"); var dir_chrome_driver = Directory.GetCurrentDirectory() + "\\lib"; ChromeDriverService service = ChromeDriverService.CreateDefaultService(dir_chrome_driver); service.HideCommandPromptWindow = true; try { web = new ChromeDriver(service, options); } catch (Exception e) { MessageBox.Show("Убедитесь в наличии браузера Google Chrome версии 72.0 и выше \nОшибка инициализации браузера, доступ запрещен или объект отстуствует. \n" + e.Message, "Error, Google Chrome!", MessageBoxButtons.OK, MessageBoxIcon.Error); } web.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); _authenticator = new Authenticator(web, new ControlFormProgramm(this)); _like = new Like(web, new ControlFormProgramm(this)); _subscribe = new Subscribe(web, new ControlFormProgramm(this)); _сontrolFormProgramm = new ControlFormProgramm(this); _securityKey = new SecurityKey(); _regEdit = new RegEdit(); _props = new Props(this); _autoRun = new AutoRun(); this.Icon = Resources.instagramico; MyGlavForm = this; InitializeComponent(); progressBar1.Style = ProgressBarStyle.Continuous; progressBar1.Maximum = 100; progressBar1.Value = 0; _сontrolFormProgramm.FirstStateProgramm(); label3.Text = "Войдите в свой инстаграмм профиль .."; this.MaximumSize = new System.Drawing.Size(690, 560); this.MinimumSize = new System.Drawing.Size(690, 560); }
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) { } } } }