Как ввести код из смс во время выполнения проекта через post-get

TopFlow

Client
Регистрация
24.06.2020
Сообщения
59
Благодарностей
12
Баллы
8
Добрый день! Как реализовать ввод кода из смс в переменную во время выполнения проекта в ZennoPoster!?
Помогите пожалуйста оч надо!
 

TopFlow

Client
Регистрация
24.06.2020
Сообщения
59
Благодарностей
12
Баллы
8
Было бы супер если бы было типа Ожидание Действия Пользователя, но оно работает только в браузерном варианте(,
есть ли возможность ввести значение переменной в выскакивающем окне?
 

TopFlow

Client
Регистрация
24.06.2020
Сообщения
59
Благодарностей
12
Баллы
8
Ответ найден, если кому интересно вот код нашел:

System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Введите Код из СМС";

//создаем текстбокс
System.Windows.Forms.TextBox textb = new System.Windows.Forms.TextBox();
//указываем местоположение
textb.Location = new System.Drawing.Point(50,50);
// добавляем его на форму
F.Controls.Add(textb);
F.Width=200; //- задает ширину формы в пикселях
F.Height=150; //- задает высоту формы в пикселях


F.ShowDialog();

//говорим в какую переменную положить
project.Variables["test"].Value = textb.Text;
//или возвращаем в переменную по умолчанию
return textb.Text;
 
  • Спасибо
Реакции: djaga

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Добрый день! Как реализовать ввод кода из смс в переменную во время выполнения проекта в ZennoPoster!?
Помогите пожалуйста оч надо!
78490

C#:
string phone = "+380971111111"; // тут у нас телефон
string code = string.Empty; // Создадим переменную в которую хотим добавить результат

// Описание окна
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = string.Format("{0}",phone); // Шапка окна
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Height=100; // Высота окна
F.Width=350; // Ширина окна
System.Windows.Forms.TextBox tb_code = new System.Windows.Forms.TextBox(); // Создадим поле ввода
                             tb_code.Location = new System.Drawing.Point(10,10); // Укажем верхний левый угол поля ввода относительно окна
                             tb_code.Width=200; // Укажем ширину поля ввода
                             tb_code.Text = "Введите код"; // Добавим текст по умолчанию
F.Controls.Add(tb_code); // Добавим поле ввода на окно

System.Windows.Forms.Button button = new System.Windows.Forms.Button(); // Создадим кнопочку
button.Text = "OK"; // Укажем ей какой-то текст
button.Location = new System.Drawing.Point(220, 10); // Укажем где будет располагаться кнопка на окне
button.Size=new System.Drawing.Size(50, 20); // Укажем размеры кнопки
F.Controls.Add(button); // Добавим кнопку на окно


button.Click+= delegate(object sender, System.EventArgs e) { // Подписываемся на событие клика по кнопке ОК
    code = tb_code.Text; // Если произойдёт клик по кнопке - добавим содержимое поля ввода в переменную
    F.Dispose(); // Закрываем окно
};

// Отображение окна
F.ShowDialog(); // Здесь мы будем ожидать, пока не произойдёт клик по закрытию окна либо по кнопке ОК.

return code; // Здесь будет результат
Подробнее о том, как работать с формами в Зенно можно почитать тут.
 
  • Спасибо
Реакции: djaga и TopFlow

TopFlow

Client
Регистрация
24.06.2020
Сообщения
59
Благодарностей
12
Баллы
8
Посмотреть вложение 78490
C#:
string phone = "+380971111111"; // тут у нас телефон
string code = string.Empty; // Создадим переменную в которую хотим добавить результат

// Описание окна
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = string.Format("{0}",phone); // Шапка окна
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Height=100; // Высота окна
F.Width=350; // Ширина окна
System.Windows.Forms.TextBox tb_code = new System.Windows.Forms.TextBox(); // Создадим поле ввода
                             tb_code.Location = new System.Drawing.Point(10,10); // Укажем верхний левый угол поля ввода относительно окна
                             tb_code.Width=200; // Укажем ширину поля ввода
                             tb_code.Text = "Введите код"; // Добавим текст по умолчанию
F.Controls.Add(tb_code); // Добавим поле ввода на окно

System.Windows.Forms.Button button = new System.Windows.Forms.Button(); // Создадим кнопочку
button.Text = "OK"; // Укажем ей какой-то текст
button.Location = new System.Drawing.Point(220, 10); // Укажем где будет располагаться кнопка на окне
button.Size=new System.Drawing.Size(50, 20); // Укажем размеры кнопки
F.Controls.Add(button); // Добавим кнопку на окно


button.Click+= delegate(object sender, System.EventArgs e) { // Подписываемся на событие клика по кнопке ОК
    code = tb_code.Text; // Если произойдёт клик по кнопке - добавим содержимое поля ввода в переменную
    F.Dispose(); // Закрываем окно
};

// Отображение окна
F.ShowDialog(); // Здесь мы будем ожидать, пока не произойдёт клик по закрытию окна либо по кнопке ОК.

return code; // Здесь будет результат
Подробнее о том, как работать с формами в Зенно можно почитать тут.
Спасибооо! Супер удобно!
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Спасибооо! Супер удобно!
Проблема в том, что если у Вас 100 потоков будет работать, то этих окошек будет очень много...
Я всё же использовал бы встроенную функцию Зеннопостера по ручному вводу каптчи.
А чтобы знать в какое поле вводить какой код от какого номера - перевёл бы номер в картинку.

Вот пример реализации (по-моему это лучше, чем отдельных сотня окон в многопотоке).
78492

C#:
string phone = "+3809771111111";
string code = string.Empty;
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(200, 20,System.Drawing.Imaging.PixelFormat.Format24bppRgb);

using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap)){
    using (Font font = new Font("Arial", 14)) {
       Rectangle rect = new Rectangle(0, 0, 200, 20);
        g.FillRectangle(Brushes.White, rect);
        g.DrawString( phone, font, Brushes.Black, rect, StringFormat.GenericTypographic );
    }
}

string base64 = String.Empty;
using (var ms = new MemoryStream()) { 
    bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
    base64= Convert.ToBase64String(ms.GetBuffer());
}
bitmap.Dispose();
code = ZennoPoster.CaptchaRecognition("MonkeyEnter.dll", base64,"",false);
return code;
 
  • Спасибо
Реакции: TopFlow и djaga

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)