С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 25.09.2009
Сообщений: 122

выполнить javascript со своими параметрами

29.06.2017, 12:22. Показов 658. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не пинайте сильно, javascript не моё.

Хочу решить такую задачу:
На странице https://vk.com/restore (восстановление пароля ВКонтакте) в поле login_inpit вводится номер телефона, при нажатии кнопки далее (submitBtn) выводится капча, при успешном разгадывании которой появляется поле ввода фамилии (lastname_input) и далее после нажатия происходит проверка соответствия номера телефона и фамилии пользователя... Как я понял, при нажатии на submitBtn выполняется функция forgotFormSend.

Мне нужно перебрать несколько десятков фамилий (не спрашивайте зачем)
1. Как можно автоматизировать этот процесс, например на C#?
2. Можно ли избавиться от капчи?

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
extend(cur, {
  oldld: window.onLoginDone,
  forgotLogin: false,
  forgot_oid: false,
  forgot_hash: '',
  forgotFirstSubmit: true,
  resendInt: false,
  resendDelay: false,
  forgotFormSend: function(login, sure, lname) {
    var btn = ge('submitBtn') || ge('sure_btn');
    if (!login) {
      login = val('login_input');
      if (login.length < 3) {
        notaBene('login_input');
        return false;
      }
    }
 
    cur.forgotLogin = login;
    var params = {act: 'a_forgot', login: login, hash: '1498727366_d7d8d046864ed63975', sure: sure, notfirst: (cur.forgotFirstSubmit ? '' : 1)};
    if (lname) {
      params.lname = val('lastname_input');
      if (params.lname.length < 1) {
        elfocus('lastname_input');
        return false;
      }
    }
    ajax.post('al_login.php', params, {
      onFail: function() {
        cur.forgotFirstSubmit = false;
      },
      onDone: function(result, html, js) {
        cur.forgotFirstSubmit = false;
        if (!result) {
          showMsg('error', html, 'error', true);
        } else {
          val('forgot_panel', html);
          showBackLink('/restore', 'В начало');
          hide(geByClass1('top_nav_link', ge('top_links')));
          show('top_links');
          if (js) {
            eval('(function(){' + js + ';})()');
          }
          if (sure && !lname) {
            cur.resendDelay = 120;
            cur.resendInt = setInterval(cur.resendUpdate, 1000);
          }
        }
      },
      showProgress: lockButton.pbind(btn),
      hideProgress: unlockButton.pbind(btn)
    });
  },
  resendUpdate: function() {
    var btn = ge('forgot_resend');
    if (!btn) {
      return;
    }
    if (cur.resendDelay > 0) {
      val(btn, 'Выслать код повторно через %s'.replace('%s', Math.floor(cur.resendDelay / 60) + ':' + (cur.resendDelay % 60 < 10 ? '0' : '') + (cur.resendDelay % 60)));
      cur.resendDelay--;
    } else {
      removeClass(btn, 'flat_btn_lock');
      val(btn, 'Выслать код повторно');
      addEvent(btn, 'click', cur.resendCode.pbind(btn));
      clearInterval(cur.resendInt);
    }
  },
  resendCode: function(el) {
    hide('error');
    ajax.post('al_login.php', {act: 'a_forgot_by_phone_resend', oid: cur.forgot_oid, hash: cur.forgot_hash}, {
      onDone: function(text) {
        val(el, text);
        addClass(el, 'flat_btn_lock');
      },
      onFail: function(msg) {
        val('error', msg);
        show('error');
        return true;
      },
      showProgress: lockButton.pbind(el),
      hideProgress: unlockButton.pbind(el)
    });
  },
  newPassSend: function() {
    var btn = ge('submitBtn');
    var code = val('code');
    if (!code.length) {
      hide('pass_wrap');
      show('code_wrap', 'forgot_resend');
      elfocus('code');
      return;
    }
    var params = {act: 'a_forgot_by_phone', oid: cur.forgot_oid, code: code, hash: cur.forgot_hash, login: cur.forgotLogin};
    if (isVisible('pass_wrap')) {
      params.password = val('password');
      params.password2 = val('password2');
    }
    ajax.post('al_login.php', params, {
      onDone: function(result, success) {
        if (result == 1) {
          hide('code_wrap', 'error', 'forgot_resend');
          show('pass_wrap');
          hide(geByClass1('bottom_row', ge('forgot_panel')));
          if (cur.resendInt) {
            clearInterval(cur.resendInt);
          }
        } else if (success) {
          hide(ge('code_wrap').parentNode);
          show('result');
          ge('result').firstChild.innerHTML = result;
        } else {
          val('error', result);
          show('error');
        }
      },
      showProgress: lockButton.pbind(btn),
      hideProgress: unlockButton.pbind(btn)
    });
  }
});
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2017, 12:22
Ответы с готовыми решениями:

Распечатка документа с сайта со своими параметрами
Проблема такая: у меня на предприятии чтобы завести на пользователя мыло надо, чтобы он написал заявку. Такую заявку я переделал на...

Системный монитор со своими параметрами
Прочитал, что в линукс как-то можно сделать свой системный монитор со своими параметрами. Если это правда, то как это реализовать ? К...

дополнить существующую функцию своими параметрами
Доброго времени суток! При работе с backgroundWorker есть такая функция стандартная private void...

2
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
29.06.2017, 17:47
Цитата Сообщение от some777 Посмотреть сообщение
Как можно автоматизировать этот процесс, например на C#?
Полностью - никак. Максимум, что вы можете - заполнить автоматически все поля, кроме капчи. Капчу придется разгадывать вручную. Либо вы можете попытаться написать свой собственный алгоритм автоматического чтения капчи...
Конечно наверняка где-то в сети существует код по чтению капчи, но сомневаюсь, что есть хоть одна 100%-но работающая реализация. Человек не всегда может её прочесть, не говоря уже о компьютере.
Цитата Сообщение от some777 Посмотреть сообщение
Можно ли избавиться от капчи?
Нет. Иначе в чем смысл? Она-то как раз и нужна для защиты от роботов.
0
 Аватар для Antiplayer
129 / 112 / 39
Регистрация: 27.09.2012
Сообщений: 305
29.06.2017, 22:11
Цитата Сообщение от some777 Посмотреть сообщение
Можно ли избавиться от капчи?
Можно, но в данном случае имеет ли это смысл? Точнее можно не избавиться, а воспользоваться сайтом антигейт например ( ссылки не даю, чтобы не было рекламы ). Там за 60р разгадывают тысячу капчей )

Цитата Сообщение от some777 Посмотреть сообщение
Как можно автоматизировать этот процесс, например на C#?
Можно, но сложно как я понимаю. Видел такую систему в работе. Регестрировала пользователей в одной из соц сетей, когда еще не было обязательной регистрации по номеру телефона. Написана была на консольном php вроде бы, при этом капчу можно было руками вбивать, а можно было подключить к сервису по разгадываю капч. А еще я однажды имел дело вообще с human emulator ( не знаю, как по другому назвать ). Там мышка ходила по экрану, находила нужные поля и заполняла их
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2017, 22:11
Помогаю со студенческими работами здесь

Выполнить (запустить) внешнюю программу с параметрами
Пдскажите, как запустить far.exe из консоли cmd.exe, чтобы новое окно не открывалось. Причём лучше чтобы это так же работало и без...

Нужно выполнить хранимый запрос с параметрами
помогите разобраться, пожалуйста! имеется хр. запрос вида 'select * from tdoc where tdoc = ' делаю таким образом: ...

Как выполнить вычисления с заданными параметрами?
Нвдо было создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях. Я вроде что-то набросал,...

Выполнить записанные в файл процедуры с данными параметрами
1 задача-Дан текстовый файл.В файле на каждой строке записана процедура рисования графического примитива и значения параметров через 1...

Выполнить выборку из БД, с параметрами, которые имеют значения, отличные от нуля
у меня есть несколько dropdownlist на странице. Там могут быть выставлены пустые значения (dropdownlist.selectedvalue = 0) и все остальные....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru