コード例 #1
0
        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);
        }
コード例 #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) { }
                }
            }
        }