- Регистрация
- 27.12.2016
- Сообщения
- 289
- Благодарностей
- 404
- Баллы
- 63
Добрый день!
При авторизации возможна просьба ввести код подтверждения. Для ввода использую такой сниппет: Вызов win окна с полем для ввода и кнопкой, далее ввод на странице и сабмит, и последний шаг сохранение профиля. Так вот — профиль сохраняет, но видимо не весь, т.к. при попытке входа с загруженным профилем выкидывает на страницу авторизации.
Если использовать тот же сниппет сохранения профиля без остального кода — то все ОК. Подскажите пожалуйста куда смотреть!
При авторизации возможна просьба ввести код подтверждения. Для ввода использую такой сниппет: Вызов win окна с полем для ввода и кнопкой, далее ввод на странице и сабмит, и последний шаг сохранение профиля. Так вот — профиль сохраняет, но видимо не весь, т.к. при попытке входа с загруженным профилем выкидывает на страницу авторизации.
Если использовать тот же сниппет сохранения профиля без остального кода — то все ОК. Подскажите пожалуйста куда смотреть!
Код:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.BringToFront();
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Text = "Введите код подтверждения VK";
F.Width=300; //- задает ширину формы в пикселях
F.Height=150; //- задает высоту формы в пикселях
//создаем текстбокс
System.Windows.Forms.TextBox textb = new System.Windows.Forms.TextBox();
//указываем местоположение
textb.Location = new System.Drawing.Point(10,50);
//так же можно указать размеры текстбокса
textb.Width=180;
// добавляем его на форму
F.Controls.Add(textb);
project.Variables["check_code"].Value = textb.Text;
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "Отправить";
//положение в окне
button.Location = new System.Drawing.Point(200,20);
//размер кнопочки
button.Size=new System.Drawing.Size(75, 75);
//кидаем на форму
F.Controls.Add(button);
//описываем событие для клика по кнопке
button.Click+= delegate(object sender, System.EventArgs e)
{
project.Variables["check_code"].Value = textb.Text;
F.Dispose();
};
F.AcceptButton= button; //отправка по enter
F.ShowDialog();
//end winform
//===========================================================
//Start input && submit action
//объявляем переменную
HtmlElement checkInput = instance.ActiveTab.FindElementById("authcheck_code");
if (checkInput.IsVoid) return -1;//проверка что элемент найден
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
//устанавливаем в найденный элемент значение из переменной проекта
checkInput.SetValue(project.Variables["check_code"].Value,instance.EmulationLevel, false);
//ищем на странице элемент и помещаем инфу о нем в переменную button
HtmlElement button_set = instance.ActiveTab.FindElementById("login_authcheck_submit_btn");
if (button_set.IsVoid) return -1;
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
//кликаем по найденному элементу
button_set.Click();
//сохраняем профиль
project.Profile.Save(project.Directory+"/profile"+"/"+project.Variables["GL_login"].Value+"."+"zpprofile");
return 0;