Перейти к содержанию

Рекомендованные сообщения

1. Скрипт работает через расширение AutoFill, но не через простое заполнение полей а через выполнение JavaScript после загрузки каждой страницы. 

 

2. Рекомендуемые браузеры - FireFox или Chrome. Нужно открыть в одной вкладке страницу оформления ситы https://sede.administracionespublicas.gob.es/icpplus/index.html а в соседней вкладке - AutoFill Options (Правая клавиша мыши в любом месте страницы, в выпадающем меню - Autofill / Autofill Options

 

3. В закладке Form Fields добавить новое правило: рядом с кнопкой "+" слева внизу есть выпадающий список (по умолчанию там написано "Unfiled") - нужно нажать галочку вниз "V" - появится список профилей, выбрать Manage... Alt-G 
Появится окно со списком, нажать New, указать имя, например "js". Можете не создавать новый профиль, а добавить в существующий, там где у вас заполнены поля.

 

4. Добавляем чере "+" новое поле, но вместо типа Text меняем его на JavaScript

 

5. Поле Value для этой строки растягиваем за правый нижний угол, так чтобы оно занимало несколько строк - так будет удобно вносить изменения в скрипт...

 

6. Вставляем в поле Value заготовку скрипта:

 

var p1="666666666", e1="email@gmail.com", n1="Y1234567B", n2="IVAN IVANOV",d1="11/11/2020"; // Ваши данные...
var tg1 = "tramiteGrupo[1]", tg2="4010"; // выбор пальцев 
var frm1 = "/icpplus/citar......."; // Регион...
var pn1="149"; // страна рождения РФ (Казахстан -146, Украина - 152)
var a1="1966"; // год рождения (нужен для запроса информации, для пальцев не надо)
var IgnoreRegions = []; // Список офисов которые игнорируем, например "1","2"
var SelectRegionValue=""; // Номер офиса который ищем

 

document.querySelector('.mf-header').classList.add('hidden');
document.querySelector('.mf-footer').classList.add('hidden');
document.querySelector('.mf-media').classList.add('hidden');
document.querySelector('.mf-window-header').classList.add('hidden');

var ctxClass=window.audioContext||window.AudioContext||window.AudioContext||window.webkitAudioContext;
var ctx = new ctxClass();
function beep(dur){dur=+dur;var osc=ctx.createOscillator();osc.connect(ctx.destination);if(osc.noteOn) osc.noteOn(0);if(osc.start)osc.start();setTimeout(function(){if(osc.noteOff) osc.noteOff(0);if(osc.stop)osc.stop();},dur);}
function markbgcolor(col) {spl=document.querySelectorAll('div');for(i=0,length=spl.length;i<length;i++)spl[i].style.background=col;}
function alarmbg(){beep(10000);var mixcolors = ["#ff0000","#00ff00"], col=0; setInterval(()=>{markbgcolor(mixcolors[col]);col=1-col;},200);}
function ClickBtn(nm,dl){dll=dl;b3n=document.getElementById(nm);if(b3n!=null) { if (!dl) b3n.click();else setInterval(()=>{b5=document.getElementById(nm); if(b5!=null) b5.click();},dll); } }
function PgNm(nm){return window.location.href.substr(window.location.href.lastIndexOf("/")+1)==nm;}
var stopreloading=0;

b3n=document.getElementById("form"); if(b3n!=null) { b3n.value=frm1; ClickBtn("btnAceptar"); }
b3n=document.getElementById(tg1); if(b3n!=null) { b3n.value=tg2; ClickBtn("btnAceptar"); }

if ( PgNm("acInfo") ) ClickBtn("btnEntrar");
if ( PgNm("acEntrada") ) {
  document.getElementById("txtIdCitado").value=n1;
  document.getElementById("txtDesCitado").value=n2;
  b3n=document.getElementById("txtPaisNac");if(b3n!=null)b3n.value=pn1;
  b3n=document.getElementById("txtAnnoCitado");if(b3n!=null)b3n.value=a1;
  b3n=document.getElementById("txtFecha");if(b3n!=null)b3n.value=d1;
  ClickBtn("btnEnviar",2000);
  ClickBtn("btnEnviar",10000);
}
if ( PgNm("acValidarEntrada") ) ClickBtn("btnEnviar",1000); 

if ( PgNm("acCitar") ) {
 var b3s=document.getElementById("idSede"); 
 if(b3s!=null) {
  var found=0, reg='';
  for (var i=0,n=b3s.options.length;i<n;i++) {
    if (SelectRegionValue != "" && b3s.options[i].value == SelectRegionValue) {
      b3s.value = SelectRegionValue;
      found=1;
    } else if (SelectRegionValue=="" && !IgnoreRegions.includes(b3s.options[i].value)) 
      alert("Found Office "+" - "+b3s.options[i].innerHTML+"\nAdd value "+b3s.options[i].value+" to IgnoreRegions or SelectRegionValue");
    reg=reg + b3s.options[i].value+": "+b3s.options[i].innerHTML+'<BR>';
  }
  document.querySelector('label').innerHTML = "<P><P><P>" + reg.replace(/ /g,' ');
 }
 if (!found) { markbgcolor("#ffffaa"); ClickBtn("btnSalir",2000); } 
 else { stopreloading=1; alarmbg(); ClickBtn("btnSiguiente",5000); }
}

if ( PgNm("acVerFormulario") ) {
 document.getElementById("txtTelefonoCitado").value=p1;
 document.getElementById("emailUNO").value=e1;
 document.getElementById("emailDOS").value=e1;
 alarmbg(); stopreloading=1;
 ClickBtn("btnSiguiente",2000);
}

if ( PgNm("acVerificarCita") ) {
 document.getElementById("txtTelefonoCitado").value=p1;
 document.getElementById("emailUNO").value=e1;
 document.getElementById("emailDOS").value=e1;
 b3n=document.getElementById("chkTotal");if(b3n!=null)b3n.checked=true;
 b3e=document.getElementById("enviarCorreo");if(b3e!=null)b3e.checked=true;
 stopreloading=1;
 markbgcolor("#ffaaff");
}

if ( PgNm("acOfertarCita") ) {
 b3n=document.getElementById("txtTelefonoCitado");
 if (b3n!=null && b3n.value!=p1) {
   document.getElementById("txtTelefonoCitado").value=p1;
   document.getElementById("emailUNO").value=e1;
   document.getElementById("emailDOS").value=e1;
   ClickBtn("btnSiguiente");
 } else
   alarmbg();
   stopreloading=1;
}

if (!stopreloading)
setInterval(()=>{window.location.href="https://sede.administracionespublicas.gob.es/icpplus/"},30000);

 

7. В начале скрипта идет назначение переменных (которые будут подставляться в поля на сайте), вам нужно перенести туда свое имя, nie, дату окончания карточки - из полей AutoFill (если вы уже пользовались этим расширением для автоматического заполнения полей).

 

8. Нажимаем Save, идем на страницу заказа ситы, применяем это правило к данной странице - Правая клавиша мыши / Autofill / Execute profile / js
По идее скрипт должен начать заполнять поля указанными данными и сам нажимать на кнопки.
Чтобы остановить выполнение скрипта - выполняете Правая клавиша мыши / Autofill / Execute profile / Unfiles

 

9. Особенности поиска и указания нужного офиса (и игнорирования ненужных офисов). В разных регионах по разному, но иногда сайт предлагает к выбору офисы, которые вроде как есть, но в которые не записаться или вам они неудобны.

Изначально когда скрипт увидит доступный офис - запищит, начет цвет фона менять (чтобы заметно было) и напишет его код появившегося офиса. Например - Found Office ... Add value X to IgnoreRegions or SelectRegionValue. Итак, он обнаружил офис с кодом X (там будет одна цифра, это код офиса), если это нужный нам офис, то пишем его значение в строку var SelectRegionValue="X";
если этот офис нам нужно игнорировать, то чтобы скрипт на нем не останавливался, пишем его в поле:
var IgnoreRegions = ["X"]; это когда он будет один
var IgnoreRegions = ["1","2","7","5"]; пример когда их будет несколько, то есть в кавычках через запятую
Наша ключевая цель найти нужный для Вас офис и записать его номер в SelectRegionValue. 

 

10. Собственно после этого скрипт будет ходить по кругу пока не увидит появившийся нужный офис, будет пищать, заполнит поля данных и перейдет на страницу выбора дат (или скажет что нет доступных сит).

 

11. Ваша задача услышать сигнал, увидеть что он дошел до выбора дат и быстро выбрать одну из них. После этого попадете на ввод данных из смс. Заполняете код из смс на свой телефон, форму и получаете ситу на свой email. Бинго! Можно останавливать скрипт.

 

12. Капча - я лично отказался от расширения автоматического заполнения и когда скрипт останавливается на ней - заполнял руками (она обычно сложная), обычно после ввода несколько раз - дальше еще долго работает не запрашивая ее. Если начинает заваливать капчами (обычно через час постоянной работы) - рекомендую сделать паузу на час.

 

13. Иногда (очень редко) скрипт подвисает и никуда не идет, надо перегружать страницу (хотя последняя версия пытается это избежать).

 

14. Рекомендую окно со скриптом разместить на заднем плане (чтобы его было немного видно) и можно своими делами заниматься в другом окне. Главное следить за ним что оно крутится и иногда страница с желтым фоном фоном появляется (когда система говорит что нет сит или офисов).

 

15. Бывает что офис появляется в списке, но выбора дат нет и пишет что нет сит. И так несколько раз. Подозреваю что кто-то в этот момент уже выбрал время, обычно через некоторое время офис пропадает. Что делать с ситуацией когда офис есть в списке постоянно, а вот сит в нем нет или они не берутся - не понятно, надо смотреть в каждом конкретном случае, возможно дорабатывать скрипт под эту ситуацию.

 

16. По времени ситы появляются везде по разному, но у меня для себя почти все ситы пойманы вечером, в 40-50 с чем-то минут, но есть и другие упоминания времени их появления.

 

17. Если надоедает звуковой сигнал при выполнении скрипта, его можно отключить во вкладке Autofill Otions - Other Stuff / Sound effects. Там-же можно убрать Autofill delay (чтобы не было паузы перез запуском).

 

18. Если будут проблемы с запуском скрипта можно писать в телеграм @citacatcher (какое оригинальное имя оказалось не занято). Будьте готовы чтобы у вас был установлен FireFox с AutoFill, а также был TeamViewer (возможно прийдется подключиться и посмотреть что и как у вас отрабатывает). Я не обещаю, но скорее всего если обращений будет немного, то помогу...

 

19. Я не принимаю платных заказов на поиск сит, но с удовольствием получу благодарность на Яндекс.Кошелек (ЮMoney) https://yoomoney.ru/to/4100116120593442 после того как вы с помощью данного скрипта сами поймаете себе ситу (часть благодарности обязательно отправлю на поддержку данного форума и Вас тоже призываю это сделать).

Link to post
Share on other sites

Большое спасибо! Кстати, вот еще рабочий вариант https://github.com/cita-bot/cita-bot, написанный на питоне. Единственная проблема, что он хорошо детектится recaptcha'eй, что делает его работу не очень эффективной кмк.

Link to post
Share on other sites

Попробовал скрипт. На примере Барселоны выбор региона выглядит вот так:

 

var frm1 = "/icpplustie/citar?p=8&locale=es"; // Регион...

 

И вот сразу номера офисов в кавычках, если нужно выбирать какой-то определенный:

 

    BADALONA = "18"  # CNP-COMISARIA BADALONA, AVDA. DELS VENTS (9)
    BARCELONA = "16"  # CNP - RAMBLA GUIPUSCOA 74, RAMBLA GUIPUSCOA (74)
    BARCELONA_MALLORCA = "14"  # CNP MALLORCA-GRANADOS, MALLORCA (213)
    CASTELLDEFELS = "19"  # CNP-COMISARIA CASTELLDEFELS, PLAÇA DE L`ESPERANTO (4)
    CERDANYOLA = "20"  # CNP-COMISARIA CERDANYOLA DEL VALLES, VERGE DE LES FEIXES (4)
    ELPRAT = "23"  # CNP-COMISARIA EL PRAT DE LLOBREGAT, CENTRE (4)
    GRANOLLERS = "28"  # CNP-COMISARIA GRANOLLERS, RICOMA (65)
    HOSPITALET = "17"  # CNP-COMISARIA L`HOSPITALET DE LLOBREGAT, Rbla. Just Oliveres (43)
    IGUALADA = "26"  # CNP-COMISARIA IGUALADA, PRAT DE LA RIBA (13)
    MANRESA = "38"  # CNP-COMISARIA MANRESA, SOLER I MARCH (5)
    MATARO = "27"  # CNP-COMISARIA MATARO, AV. GATASSA (15)
    MONTCADA = "31"  # CNP-COMISARIA MONTCADA I REIXAC, MAJOR (38)
    RIPOLLET = "32"  # CNP-COMISARIA RIPOLLET, TAMARIT (78)
    RUBI = "29"  # CNP-COMISARIA RUBI, TERRASSA (16)
    SABADELL = "30"  # CNP-COMISARIA SABADELL, BATLLEVELL (115)
    SANTACOLOMA = "35"  # CNP-COMISARIA SANTA COLOMA DE GRAMENET, IRLANDA (67)
    SANTADRIA = "33"  # CNP-COMISARIA SANT ADRIA DEL BESOS, AV. JOAN XXIII (2)
    SANTBOI = "24"  # CNP-COMISARIA SANT BOI DE LLOBREGAT, RIERA BASTÉ (43)
    SANTCUGAT = "34"  # CNP-COMISARIA SANT CUGAT DEL VALLES, VALLES (1)
    SANTFELIU = "22"  # CNP-COMISARIA SANT FELIU DE LLOBREGAT, CARRERETES (9)
    TERRASSA = "36"  # CNP-COMISARIA TERRASSA, BALDRICH (13)
    VIC = "37"  # CNP-COMISARIA VIC, BISBE MORGADES (4)
    VILADECANS = "25"  # CNP-COMISARIA VILADECANS, AVDA. BALLESTER (2)
    VILANOVA = "39"  # CNP-COMISARIA VILANOVA I LA GELTRU, VAPOR (19)

 

Link to post
Share on other sites

Ну и с вашего позволения сразу чуть более подробно распишу с нуля.

 

1. Расширение, который вам понадобится - Autofill, оно доступно как для Chrome (ссылка), так и для Firefox (ссылка). Устанавливаем.

2. Открываем страницу https://sede.administracionespublicas.gob.es/icpplus/index.html 

3. Нажимаем правой кнопкой мыши в любом месте страницы и выбираем Autofill -> Autofill Options:

Screenshot_1.thumb.png.24b4f6ebe6353d963623531485cbc359.png

4. В закладке Form Fields нужно добавить новое правило: рядом с кнопкой "+" слева внизу есть выпадающий список (по умолчанию там написано "Unfiled") - Нужно нажать галочку вниз "V" - появится список профилей, выбрать Manage... Alt-G 

Screenshot_3.png.35e2f9e76994d847ac13f303b2e0d73a.png

 

Появится окно со списком, нажать New, указать имя, например "js" и потом нажать Save and Close.

Screenshot_4.thumb.png.fd90e9efa6fe34493e2dc35c67fd9cae.png

Если ранее вы уже использовали Autofill, то можно не создавать новый профиль, а добавить в существующий, там где у вас заполнены поля.

 

5. Добавляем через "+" новое поле, но вместо типа Text меняем его на JavaScript, а поле Value растягиваем за правый нижний угол, чтобы туда удобнее было вносить изменения:

Screenshot_5.thumb.png.6fc6d761e85090f8e82d04668a024089.png

 

6. Вставляем в поле Value код скрипта из первого сообщения темы (тоже пункт 6) и редактируем в самом начале ваши данные, где

Screenshot_6.png.3f6ba282df967612e849ede51eb4dcf3.png

p1 - ваш номер телефона

e1 - ваша почта

fm1 -регион. Обычно поле выглядит так:

var frm1 = "/icpplus/citar?p=1&locale=es";

 

 

но, например, для Барселоны скрипт срабатывает при таком заполнении поля:

var frm1 = "/icpplustie/citar?p=8&locale=es";

 

Коды различных регионов:

    A_CORUÑA = "15"
    ALBACETE = "2"
    ALICANTE = "3"
    ALMERÍA = "4"
    ARABA = "1"
    ASTURIAS = "33"
    ÁVILA = "5"
    BADAJOZ = "6"
    BARCELONA = "8"
    BIZKAIA = "48"
    BURGOS = "9"
    CÁCERES = "10"
    CÁDIZ = "11"
    CANTABRIA = "39"
    CASTELLÓN = "12"
    CEUTA = "51"
    CIUDAD_REAL = "13"
    CÓRDOBA = "14"
    CUENCA = "16"
    GIPUZKOA = "20"
    GIRONA = "17"
    GRANADA = "18"
    GUADALAJARA = "19"
    HUELVA = "21"
    HUESCA = "22"
    ILLES_BALEARS = "7"
    JAÉN = "23"
    LA_RIOJA = "26"
    LAS_PALMAS = "35"
    LEÓN = "24"
    LLEIDA = "25"
    LUGO = "27"
    MADRID = "28"
    MÁLAGA = "29"
    MELILLA = "52"
    MURCIA = "30"
    NAVARRA = "31"
    ORENSE = "32"
    PALENCIA = "34"
    PONTEVEDRA = "36"
    SALAMANCA = "37"
    S_CRUZ_TENERIFE = "38"
    SEGOVIA = "40"
    SEVILLA = "41"
    SORIA = "42"
    TARRAGONA = "43"
    TERUEL = "44"
    TOLEDO = "45"
    VALENCIA = "46"
    VALLADOLID = "47"
    ZAMORA = "49"
    ZARAGOZA = "50"

 

7. После того, как всё отредактировали, не забываем нажать кнопку SAVE внизу страницы

Screenshot_7.thumb.png.928f57c40942d8b6295026beb44a10a0.png

 

8. Теперь на странице https://sede.administracionespublicas.gob.es/icpplus/index.html снова нажимаем правой кнопкой мыши в любом месте и выбираем:

Autofill -> Execute profile -> Имя профиля (Unfiled/JS/Ваше имя)

Screenshot_8.thumb.png.117a4586483bf9d95ae88bafe918056e.png

 

Далее скрипт должен начать сам заполнять поля, начиная с выбора региона. Если выбор региона не начнется, попробуйте обновить страницу или проверить, как заполнили значение fm1 из пункта 6.

 

9. Когда скрипт найдет офис(ы), он будет писать вам их номера, их нужно будет вставить в поля (см. пункт 6, чтобы вспомнить, где меняются код)

var IgnoreRegions = ["X"]; - какие офисы игнорируем;
var SelectRegionValue=["X"]; - какие офисы ищем.

 

Например, если речь о Барселоне и вам всё равно, куда вас запишет, то поле выбора офиса будет выглядеть так (см. сообщение с номерами офисов Барселоны выше):

var IgnoreRegions = [];
var SelectRegionValue=["18","16","14","19","20","23","28","17","26","38","27","31","32","29","30","35","33","24","34","22","36","37","25","39"]; 

 

10. Продолжаем читать рекомендации из первого сообщения темы с 10 пункта, обращая внимания на следующее:

- автор скрипта (это не я, если что) готов помочь по мере возможностей через телеграм @citacatcher. Главное, убедитесь, что у вас есть TeamViewer.

- крайне приветствуется благодарность автору скрипта через Яндекс.Кошелек (ЮMoney), где часть средств вернется на поддержку этого форума.

Link to post
Share on other sites

в SelectRegionValue все-же ожидается значение одного офиса, не массив... я шел от обратной логики, обычно нужно исключить ненужные офисы, чтобы дождаться одного нужного. думаю что если туда прописать массив, то надо и код исправлять.

 

Значение для центрального офиса в Жироне:

var SelectRegionValue="6";

Link to post
Share on other sites
12 часов назад, zetacraft сказал:

в SelectRegionValue все-же ожидается значение одного офиса, не массив... я шел от обратной логики, обычно нужно исключить ненужные офисы, чтобы дождаться одного нужного. думаю что если туда прописать массив, то надо и код исправлять.

 

Я в коде не очень разбираюсь, но и отредактировать свое сообщение уже не могу. Вообще, было бы неплохо, если он мог с массивом работать, потому что зачастую по географии тебе может подходить сразу несколько офисов или вообще не важно какой, лишь бы записаться, но спасибо за пояснение с принципом работы.

Link to post
Share on other sites

из поиска ситы на пальцы: по умолчанию стоит NIE, если бы можно было выбирать NIE или PASAPORTE....


За скрипт большущее спасибо.

Опробую его на ситах на получение карточки.

Link to post
Share on other sites
7 часов назад, NMNolf сказал:

 

Я в коде не очень разбираюсь, но и отредактировать свое сообщение уже не могу. Вообще, было бы неплохо, если он мог с массивом работать, потому что зачастую по географии тебе может подходить сразу несколько офисов или вообще не важно какой, лишь бы записаться, но спасибо за пояснение с принципом работы.

Если нужно из списка - тогда в SelectRegionValue ничего не заполняете, ждете появления новых офисов, выбираете его сами и... если повезет - хватаете ситу. Просто у нас есть офис который есть в списке, но сит в котором никогда нет, вот тогда чтобы на нем не тормозиться его и надо добавить в список исключений.

Link to post
Share on other sites
6 часов назад, peccopa сказал:

из поиска ситы на пальцы: по умолчанию стоит NIE, если бы можно было выбирать NIE или PASAPORTE....


За скрипт большущее спасибо.

Опробую его на ситах на получение карточки.

для указания паспорта вместо NIE блок

if ( PgNm("acEntrada") ) {
...

}

нужно заменить на слегка модифицированный (номер паспорта там-же где nie в n1):

if ( PgNm("acEntrada") ) {
  ClickBtn("rdbTipoDocPas");
  b=document.getElementById("txtIdCitado"); if (b) b.value=n1;
  b=document.getElementById("txtDesCitado"); if (b) b.value=n2;
  b=document.getElementById("txtPaisNac"); if (b) b.value=pn1;
  b=document.getElementById("txtAnnoCitado"); if (b) b.value=a1;
  b=document.getElementById("txtFecha"); if (b) b.value=d1;
  ClickBtn("btnEnviar",2000);
}
 

Link to post
Share on other sites
1 час назад, zetacraft сказал:

Если нужно из списка - тогда в SelectRegionValue ничего не заполняете, ждете появления новых офисов, выбираете его сами и... если повезет - хватаете ситу. Просто у нас есть офис который есть в списке, но сит в котором никогда нет, вот тогда чтобы на нем не тормозиться его и надо добавить в список исключений.

 

По опыту Барселоны тут примерно в одну и ту же минуту каждого часа выкидывают ситы сразу на кучу офисов и через 3-5 минут они все пропадают. И тут как повезет: успеешь в первые пару секунд, как они появятся выбрать какой-нибудь офис (желательно, конечно, не первый в списке) или увидишь надпись после заполнения почты/телефона, что извините, попробуйте позже. Как по мне лучше бы скрипт перебирал эти свободные офисы, чем долбился всегда в один и тот же.

photo_2020-10-30_10-52-32.jpg

Link to post
Share on other sites

Не совсем понятно что значит "перебирал" их. Если ситы появляются во всех и главное их быстро поймать - ставьте ближайший и ждите в нем, главное быстро среагировать когда дойдет до выбора дат.

 

Но можно и под массив конечно дописать, пишите в телеграм, будем разбираться, измененный код потом выложим здесь... Может еще по ходу какие-то улучшения придумаем.

Link to post
Share on other sites

Зато у нас в провинции Жирона , в Компрадон сит хоть завались, на ближайшие дни прямо. Видимо никому не надо уже.

Link to post
Share on other sites
10 минут назад, Эвелина сказал:

Зато у нас в провинции Жирона , в Компрадон сит хоть завались, на ближайшие дни прямо. Видимо никому не надо уже.

А вот кстати интересно - там для любых жителей провинции можно получить? Кто-нибудь туда ездил? Сдавал/получал ? Полтора-два часа в одну сторону не такая уж проблема обычно. Городок красивый, да и по пути много куда можно заехать погулять...

Link to post
Share on other sites
12 минут назад, zetacraft сказал:

А вот кстати интересно - там для любых жителей провинции можно получить? Кто-нибудь туда ездил? Сдавал/получал ? Полтора-два часа в одну сторону не такая уж проблема обычно. Городок красивый, да и по пути много куда можно заехать погулять...

 

Есть опыт у знакомых Эвелины. Только на днях писала.

Link to post
Share on other sites

Доброе утро. Спасибо огромное за скрипт! У меня не выбирает регион на самом первом шаге, у меня там Islas Baleares должно быть, 7 это непосредственно код Майорки а самих Балеарские островов нет (( помогите пожалуйста 😞

var frm1 = "/icpplustie/citar?p=7&locale=es";
Link to post
Share on other sites
1 час назад, Myflight15 сказал:

Доброе утро. Спасибо огромное за скрипт! У меня не выбирает регион на самом первом шаге, у меня там Islas Baleares должно быть, 7 это непосредственно код Майорки а самих Балеарские островов нет (( помогите пожалуйста 😞


var frm1 = "/icpplustie/citar?p=7&locale=es";


var frm1 = "/icpco/citar?p=7&locale=es";

попробуйте такую строчку для isles.
Я не уверен, но именно то, что дает для обычного autofill

Link to post
Share on other sites
14 часов назад, zetacraft сказал:

А вот кстати интересно - там для любых жителей провинции можно получить? Кто-нибудь туда ездил? Сдавал/получал ? Полтора-два часа в одну сторону не такая уж проблема обычно. Городок красивый, да и по пути много куда можно заехать погулять...

Да ездили одни знакомые, без проблем у них приняли и они уже получили карты, но ровно 30 дней , при приеме говорят. Ну я так думаю если этот адрес идет первым в строке по нашей провинции, значит все нормально.

Link to post
Share on other sites
2 часа назад, Myflight15 сказал:

Доброе утро. Спасибо огромное за скрипт! У меня не выбирает регион на самом первом шаге, у меня там Islas Baleares должно быть, 7 это непосредственно код Майорки а самих Балеарские островов нет (( помогите пожалуйста 😞


var frm1 = "/icpplustie/citar?p=7&locale=es";

 

Для некоторых регионов код ссылки немножко другой. Вот значения для всех регионов для frm1:

 

"/icpplus/citar?p=15&locale=es" для A Coruña
"/icpplus/citar?p=2&locale=es" для Albacete
"/icpco/citar?p=3&locale=es" для Alicante
"/icpplus/citar?p=4&locale=es" для Almería
"/icpplus/citar?p=1&locale=es" для Araba
"/icpplus/citar?p=33&locale=es" для Asturias
"/icpplus/citar?p=5&locale=es" для Ávila
"/icpplus/citar?p=6&locale=es" для Badajoz
"/icpplustie/citar?p=8&locale=es" для Barcelona
"/icpplus/citar?p=48&locale=es" для Bizkaia
"/icpplus/citar?p=9&locale=es" для Burgos
"/icpplus/citar?p=10&locale=es" для Cáceres
"/icpplus/citar?p=11&locale=es" для Cádiz
"/icpplus/citar?p=39&locale=es" для Cantabria
"/icpplus/citar?p=12&locale=es" для Castellón
"/icpplus/citar?p=51&locale=es" для Ceuta
"/icpplus/citar?p=13&locale=es" для Ciudad Real
"/icpplus/citar?p=14&locale=es" для Córdoba
"/icpplus/citar?p=16&locale=es" для Cuenca
"/icpplus/citar?p=20&locale=es" для Gipuzkoa
"/icpplus/citar?p=17&locale=es" для Girona
"/icpplus/citar?p=18&locale=es" для Granada
"/icpplus/citar?p=19&locale=es" для Guadalajara
"/icpplus/citar?p=21&locale=es" для Huelva
"/icpplus/citar?p=22&locale=es" для Huesca
"/icpco/citar?p=7&locale=es" для Illes Balears
"/icpplus/citar?p=23&locale=es" для Jaén
"/icpplus/citar?p=26&locale=es" для La Rioja
"/icpco/citar?p=35&locale=es" для Las Palmas
"/icpplus/citar?p=24&locale=es" для León
"/icpplus/citar?p=25&locale=es" для Lleida
"/icpplus/citar?p=27&locale=es" для Lugo
"/icpplustiem/citar?p=28&locale=es" для Madrid
"/icpco/citar?p=29&locale=es" для Málaga
"/icpplus/citar?p=52&locale=es" для Melilla
"/icpplus/citar?p=30&locale=es" для Murcia
"/icpplus/citar?p=31&locale=es" для Navarra
"/icpplus/citar?p=32&locale=es" для Orense
"/icpplus/citar?p=34&locale=es" для Palencia
"/icpplus/citar?p=36&locale=es" для Pontevedra
"/icpplus/citar?p=37&locale=es" для Salamanca
"/icpco/citar?p=38&locale=es" для S.Cruz Tenerife
"/icpplus/citar?p=40&locale=es" для Segovia
"/icpplus/citar?p=41&locale=es" для Sevilla
"/icpplus/citar?p=42&locale=es" для Soria
"/icpplus/citar?p=43&locale=es" для Tarragona
"/icpplus/citar?p=44&locale=es" для Teruel
"/icpplus/citar?p=45&locale=es" для Toledo
"/icpplus/citar?p=46&locale=es" для Valencia
"/icpplus/citar?p=47&locale=es" для Valladolid
"/icpplus/citar?p=49&locale=es" для Zamora
"/icpplus/citar?p=50&locale=es" для Zaragoza

 

 

Link to post
Share on other sites

Новая версия скрипта (без той части где идет назначение личных данных). 

 

...

var SelectRegionValue=""; // Пусто для поиска, номер офиса который ищем или -1 если выбирать случайно один из оставшихся (кроме игнорируемых)

 

document.querySelector('.mf-header').classList.add('hidden');
document.querySelector('.mf-footer').classList.add('hidden');
document.querySelector('.mf-media').classList.add('hidden');
document.querySelector('.mf-window-header').classList.add('hidden');

var ctxClass=window.audioContext||window.AudioContext||window.AudioContext||window.webkitAudioContext;
var ctx = new ctxClass();
function beep(dur){dur=+dur;var osc=ctx.createOscillator();osc.connect(ctx.destination);if(osc.noteOn) osc.noteOn(0);if(osc.start)osc.start();setTimeout(function(){if(osc.noteOff) osc.noteOff(0);if(osc.stop)osc.stop();},dur);}
function markbgcolor(col) {spl=document.querySelectorAll('div');for(i=0,length=spl.length;i<length;i++)spl[i].style.background=col;}
function alarmbg(){beep(10000);var mixcolors = ["#ff0000","#00ff00"], col=0; setInterval(()=>{markbgcolor(mixcolors[col]);col=1-col;},200);}
function ClickBtn(nm,dl){dll=dl;b3n=document.getElementById(nm);if(b3n!=null) { if (!dl) b3n.click();else setInterval(()=>{b5=document.getElementById(nm); if(b5!=null) b5.click();},dll); } }
function PgNm(nm){var u=window.location.href;u=u.substr(u.lastIndexOf("/")+1);var p=u.indexOf("?");if(p>0)u=u.substr(0,p); return u==nm;}
function QuickRestart(ms){setInterval(()=>{window.location.href="https://sede.administracionespublicas.gob.es"+frm1.substr(0,frm1.indexOf("/citar?")+1)+"acInfo"+frm1.substr(0,frm1.indexOf("&locale")).substr(frm1.indexOf("?p="))+"&tramite="+tg2+"&org=AGE"},ms??2000);}
var stopreloading=0;

b3n=document.getElementById("form"); if(b3n!=null) { b3n.value=frm1; ClickBtn("btnAceptar"); }
if ( PgNm("citar") ) {
  b=document.getElementById(tg1); 
  if (b) { b.value=tg2; ClickBtn("btnAceptar");
  } else { markbgcolor("#eeffff"); QuickRestart(); }
}

if ( PgNm("acInfo") ) ClickBtn("btnEntrar",1000);
if ( PgNm("acEntrada") ) {
//  ClickBtn("rdbTipoDocPas"); // Если хотите указывать номер паспорта вместо NIE уберите // в начале строки
  b=document.getElementById("txtIdCitado");if(b)b.value=n1;
  b=document.getElementById("txtDesCitado");if(b)b.value=n2;
  b=document.getElementById("txtPaisNac");if(b)b.value=pn1;
  b=document.getElementById("txtAnnoCitado");if(b)b.value=a1;
  b=document.getElementById("txtFecha");if(b)b.value=d1;
  ClickBtn("btnEnviar",2000);
  ClickBtn("btnEnviar",10000);
}
if ( PgNm("acValidarEntrada") ) ClickBtn("btnEnviar",1000); 

if ( PgNm("acCitar") ) {
 var b3s=document.getElementById("idSede"); 
 if(b3s!=null) {
  var found=0, reg='', regions=[];
  for (var i=0,n=b3s.options.length;i<n;i++) {
    if (+SelectRegionValue>0 && b3s.options[i].value == SelectRegionValue) {
        b3s.value = SelectRegionValue;
      found=1;
    } 
    if (!IgnoreRegions.includes(b3s.options[i].value))
      if (SelectRegionValue=="")
        alert("Found Office "+" - "+b3s.options[i].innerHTML+"\nAdd value "+b3s.options[i].value+" to IgnoreRegions or SelectRegionValue");
      else if (+SelectRegionValue<0)
        regions.push(b3s.options[i].value);
    reg=reg + b3s.options[i].value+": "+b3s.options[i].innerHTML+'<BR>';
  }
  document.querySelector('label').innerHTML = "<P><P><P>" + reg.replace(/ /g,' ');
  if (+SelectRegionValue<0 && regions.length) {
    var randomIndex = Math.floor(Math.random() * regions.length);
    b3s.value = regions[randomIndex];
    found=1;
  }
 }
 if (!found) { 
   markbgcolor("#ffffaa"); 
   //ClickBtn("btnSalir",2000);
   QuickRestart();
 } else { stopreloading=1; ClickBtn("btnSiguiente",2000); }
}

if ( PgNm("acVerFormulario") ) {
 document.getElementById("txtTelefonoCitado").value=p1;
 document.getElementById("emailUNO").value=e1;
 document.getElementById("emailDOS").value=e1;
 ClickBtn("btnSiguiente",1000);
}

if ( PgNm("acVerificarCita") ) {
 b=document.getElementById("txtTelefonoCitado");if(b)b.value=p1;
 b=document.getElementById("emailUNO");if(b)b.value=e1;
 b=document.getElementById("emailDOS");if(b)b.value=e1;
 b=document.getElementById("chkTotal");if(b)b.checked=true;
 b=document.getElementById("enviarCorreo");if(b)b.checked=true;
 stopreloading=1;
 markbgcolor("#ffaaff");
}

if ( PgNm("acOfertarCita") ) {
 b3n=document.getElementById("txtTelefonoCitado");
 if (b3n!=null && b3n.value!=p1) {
   b=document.getElementById("txtTelefonoCitado");if(b)b.value=p1;
   b=document.getElementById("emailUNO");if(b)b.value=e1;
   b=document.getElementById("emailDOS");if(b)b.value=e1;
   ClickBtn("btnSiguiente");
 } else if (document.getElementById("btnSiguiente")) {
   alarmbg();
   stopreloading=1;
 } else {
   markbgcolor("#ffffaa"); 
   QuickRestart(2000);
 }
}

if (!stopreloading) setInterval(()=>{window.location.href="https://sede.administracionespublicas.gob.es/icpplus/"},30000);

Link to post
Share on other sites
В 21.11.2020 в 05:41, Anderson сказал:

Супер! Спасибо большое @zetacraft.

Спасибо огромное @zetacraft !!! Получила ситу в один день! Благодарю за помощь!!!

Link to post
Share on other sites

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в эту тему...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...