Обсуждение скриптов и вопросов связанных с борьбой с капчами.
========================================================================
Начну пожалуй.
if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=script ATTR=src:*recaptcha*')>0){ f1='FRAME NAME=undefined\n'; iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm'); f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n'; iimPlayCode('ONDOWNLOAD FOLDER=C:\\CapNum\\ FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); }
Уменьшение картинки/капчи в размерах.
Тут есть много вариантов, приведу парочку.
Вариант 1
Использование сторонней программы.
Качаем convert.exe и распаковываем в папку куда сохраняются капчи (допустим C:\\CapNum\\).Вот этот код уменьшит и обрежет картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg)Выделить кодКод:
var Cc=Components.classes, Ci=Components.interfaces; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg']; file.initWithPath("C:\\CapNum\\convert.exe"); proc.init(file); proc.run(false, args, args.length);
Вариант 2
Использование PHP
Качаем вот это и распаковываем в папку C:\\CapNum\\.
Создаём файлик 1.php в папке куда сохраняются капчи C:\\CapNum\\.Скрипт 1.phpВыделить кодКод:
<?php $img=imagecreatefromjpeg("C:/CapNum/cap.jpg"); $des=imagecreatetruecolor(200,300); $col=imagecolorallocate($des, 0x00, 0x00, 0xFF); imagecopyresized($des, $img, 0, 0, 0, 0, 200, 300, 384, 510); imagestring($des, 5, 5, 70, "1", $col); imagestring($des, 5, 73, 70, "2", $col); imagestring($des, 5, 140, 70, "3", $col); imagestring($des, 5, 5, 148, "4", $col); imagestring($des, 5, 73, 148, "5", $col); imagestring($des, 5, 140, 148, "6", $col); imagestring($des, 5, 5, 225, "7", $col); imagestring($des, 5, 73, 225, "8", $col); imagestring($des, 5, 140, 225, "9", $col); imagejpeg($des, 'C:/CapNum/cap2.jpg'); imagedestroy($des); imagedestroy($img); ?>Вот этот код, для запуска 1.php, уменьшит картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg).
И так же пронумерует все варианты ответов (маленькие картинки) от 1 до 9 .Выделить кодКод:
var Cc=Components.classes, Ci=Components.interfaces; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['C:\\CapNum\\1.php']; file.initWithPath('C:\\CapNum\\PHP\\PHP.exe'); // <--- Путь до PHP.exe proc.init(file); proc.run(false, args, args.length);
function resize(){ var Cc=Components.classes, Ci=Components.interfaces, c, Path='C:\\CapNum\\'; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg']; file.initWithPath(Path+"convert.exe"); proc.init(file); proc.run(false, args, args.length);} var key='тут ключик от рукапчи'; var bit='тут биткоин кошель'; f1='FRAME NAME=undefined\n'; if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=2 TYPE=DIV ATTR=TXT:reCAPTCHA')>0){ iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')<0){ iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm'); f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n'; if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-imageselect-desc-wrapper')>0){ for(a=1; a<9; a++){ if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-image-tile-33')>0) break; else iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0');} iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iimPlayCode('WAIT SECONDS=2'); resize(); // <--- Уменьшаем картинку iimPlayCode('WAIT SECONDS=2'); iimPlayCode('TAB OPEN\nTAB T=2'); /*** -= Отправляем на распознавание =- ***/ for(sk=0; sk<=9; sk++){ iimPlayCode('SET !TIMEOUT 30\nURL GOTO=imacros2.rucaptcha.com/new/'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+Path+'cap2.jpg'); iimPlayCode('SET !TIMEOUT 80\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); if(iimGetExtract().search(/\d/)!=-1){ c=iimGetExtract().match(/\d+/g).join(''); iimDisplay(c); if(iimGetExtract().indexOf("ERROR")<0) break;}}} iimPlayCode('WAIT SECONDS=1\nTAB CLOSE'); if(Number(c)>0){ for(k=0; k<c.length; k++){ iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS='+c[k]+' TYPE=DIV ATTR=CLASS:rc-imageselect-checkbox');} iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0'); //<--- Код нажатия кнопки Продолжить, на некоторых сайтах может отличаться iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0'); iimPlayCode('WAIT SECONDS=2');}} iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')>0){ iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); // <--- Водим биткоин кошель iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*'); // <--- Нажатие кнопки на самом сайте, тег кнопки может отличаться iimPlayCode('WAIT SECONDS=1');}}
Сначала качаем вот это и распаковываем в папку C:\CapNum\
https://pastebin.mozilla.org/8867297
var Cc=Components.classes, Ci=Components.interfaces,a,b,c,d,e,f=0,refka='1AWqZ3ke9z8eSvZWFPeHTY8a3jmQNWKhSa'; var cok=Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); var prf=Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); var str=Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); var alt=Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService); var t0='SET !TIMEOUT_STEP 0\n', t3='SET !TIMEOUT 30\n'; kap="javascript:document.write('<b><h1>Распознаём капчу !</h1></b>');window.stop();"; Path='C:\\CapNum\\solve\\'; bit='биткоин кошель'; //for(;;){ del_cookis(); iimPlayCode('CLEAR\nTAB CLOSEALLOTHERS\nSET !TIMEOUT 30\nURL GOTO=crypto4free.net?r='+refka); a=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:*our*address*'); b=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:Ваш*адрес:'); c=iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=ID:faucet-label'); d=iimPlayCode(t0+'TAG POS=1 TYPE=div ATTR=ID:adcopy-outer'); e=iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*'); if((a>0||b>0||c>0) && d>0 && e<0) solve(); weit(361); //} /***************************************************/ function solve(){ var txt='', w=0; for(q=0; q<2; q++){ if(iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*')>0) break; for(z=0; z<20; z++){ /* Если грязная капча обновляем */ if(iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image')>0 || iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=SRC:*api.solvemedia.com/papi/media?c=*')>0) reload(); else{ z=100; for(w=0; w<=60; w++){ /* Ищем капчу с тегом SPAN slog (которая ломается без распознавания) или флеш капчу или обычный канвас (капча с ровными буквами) */ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){ /* Если ломаемая капча извлекаем текст и нижний код пропускаем */ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0){ iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog EXTRACT=TXT'); txt=iimGetLastExtract();} /* Если флеш капча, сохраняем на комп и запускаем функцию flesh() и нижний код пропускаем */ else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0){ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0) weit(10); iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iimPlayCode(t0+'TAG POS=1 TYPE=A ATTR=TXT:Return*Page'); weit(1); flesh();} /* Если обычный канвас (капча с ровными буквами), сохраняем на комп и запускаем функцию canvas() */ else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){ iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*slog CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1); canvas();}w=100;}}}} /* Если ничего из верхнего не помогло, грязная капча */ if(w!=100){ iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=SRC:http://api.solvemedia.com/papi/media?c=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1); ... // Тут отправка на сервис распознавания ... } txt=txt.replace(/\W/gi,"").replace(/[0-9]/gi,"").replace(/_/gi,""); if(txt!='' && txt.length>5){ iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); iimPlayCode(t0+'TAG POS=2 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:adcopy_response CONTENT="'+txt+'"');weit(1); if(iimPlayCode(t3+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*')<0) iimPlayCode(t3+'TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:*Get*');} else reload(); if(iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=CLASS:alert*alert*&&TXT:*satoshi*sen*')>0) q=10;}} /***-= Обрабатываем флеш капчу =-***/ function flesh(){ iimDisplay('Обрабатываем флеш капчу'); iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\flesh.vbs"]; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\System32\\wscript.exe"); proc.init(file); proc.run(false, args, args.length); weit(15); iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1); iimPlayCode('TAB CLOSE');} /***-= Обрабатываем канвас капчу =-***/ function canvas(){ iimDisplay('Обрабатываем канвас капчу'); iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\canvas.vbs"]; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\System32\\wscript.exe"); proc.init(file); proc.run(false, args, args.length); weit(15); iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1); iimPlayCode('TAB CLOSE');} /***-= Удаляем куки =-***/ function del_cookis(){ iimDisplay('Удаляем куки'); var iter=cok.enumerator; while (iter.hasMoreElements()){var cookie=iter.getNext(); if(cookie instanceof Ci.nsICookie){ cok.remove(cookie.host, cookie.name, cookie.path, cookie.blocked);}}} /***-= Обновление капчи =-***/ function reload(){iimPlayCode(t3+'TAG POS=1 TYPE=IMG ATTR=SRC:*solvemedia.com/media/reload*.gif'); weit(1);} /***-= Ожидание =-***/ function weit(s){iimPlayCode('WAIT SECONDS='+s);}
Отредактировано PRESIDENT (19-04-2016 18:30:59)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Gurren
это что за вырванная из контекста фраза? хотя бы написали кому отвечаете или вежливость не в почете? или тут, по вашему, форум экстрасенсов?
какая версия используется? сбросьте настройки FF, попробуйте другую версию
Я не отвечал кому-то, а спросил у всех. 55 версия фаерфокса и макрос 9.0.3. не загружал капчу. А проблему решил просто поставив 35 версию фаерфокса и макрос 8.9.7.
Отсутствует
Нужна помощь.
Сохраняю каптчу Solve Media, но вместо этого сохраняется пустое изображение с ошибкой media error
нагуглил, что нужно использовать SAVE_ELEMENT_SCREENSHOT
TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
Отредактировано FastSpeed (01-10-2017 10:03:45)
Отсутствует
Вопрос, как увеличить область скриншота?
здесь не нужно увеличивать область, а нужно убрать элемент который перекрывает капчу.
как вариант уменьшить масштаб отображения с помощью Ctrl- ,
Отсутствует
dvomaks
удалено избыточное цитирование
Красавчик Сработало.
П.С. Фрибиткоин капчу с простой на рекаптча поменял. Один геморой решил, появился другой.....
InfSub
Отредактировано FastSpeed (01-10-2017 11:16:03)
Отсутствует
Капча появляется только после заполнения формы и нажатия кнопки о регистрации. Для оператора по распознаванию естественно так не пойдет. Гляньте плз, может кто подскажет, как открывать капчу сразу по прямой ссылке.
Вот сайт
InfSub
Отсутствует
удалено, обсуждение не по теме форума
InfSub
Отсутствует
Помогите пожалуйста с регулярным выражением. Вот приходит ответ с рукаптчи (ID каптчи и само решение).
Вот этот код убирает ОК: Здесь все нормально работает.
iimPlayCode('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT') var str = iimGetLastExtract(); var capth = str.replace('OK|', ''); alert(capth)
Отредактировано FastSpeed (03-10-2017 12:07:49)
Отсутствует
FastSpeed
var capth = iimGetLastExtract().split("|"); alert(capth[0]); alert(capth[1]); alert(capth[2]);
Отредактировано karginaolga (03-10-2017 12:24:44)
Отсутствует
FastSpeed
поиском пользоваться надо, регулярные выражения да и разбивка текста от капчи обсуждалась не единожды
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
FastSpeed
следующий раз не буду помогать, как сказал InfSub поиском пользоваться надо
Отсутствует
FastSpeed
поиском пользоваться надо, регулярные выражения да и разбивка текста от капчи обсуждалась не единожды
Я поисковиком умею пользоваться с 2000 года и вообще-то гугол не привел меня к ответу про разибвку, все что удалось найти как отделить ОК. Зачем тогда форум, если всех в поисковик отправлять?
Добавлено 03-10-2017 15:15:00
FastSpeed
следующий раз не буду помогать, как сказал InfSub поиском пользоваться надо
Не нужно быть таким вредным
Я 80% проблем нашел именно поисковиком, сегодня вот столкнулся с проблемой двух слов, и там нужно было разбивать на <SP>, иначе не подставит. Нашел - решил. Я спрашиваю только, что поисковик мне не выдал.
Отредактировано FastSpeed (03-10-2017 15:15:36)
Отсутствует
не всех, только тех которые не сообщают, что делали и что искали
вы видели видео,, я похожа с человека однодневку???
Отредактировано karginaolga (03-10-2017 15:31:38)
Отсутствует
Ладно не будем прерикаться Живем дружно
Вот у меня еще одна проблема с каптчей солве медиа образовалась. Поисковиком пользовался!
Суть: Иногда работники c рукаптчи не успевают разгадать каптчу и мне не приходит почему-то ответ ERROR_CAPTCHA_UNSOLVABLE.
Соответственно скрипт извлекает всю страницу http://imacros2.rucaptcha.com/new/ и получается белиберда. Проверкой на извлечение страницы не работает.
Как еще можно сделать проверку?
Вот собственно код:
iimPlayCode('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT') // Бывает извлекает всю страницу после таймауйта 90 сек var delimotvet = iimGetLastExtract().split("|"); var captha = delimotvet[2].replace(/\s/g, '<SP>');
Отсутствует
FastSpeed
вот вам с проверкой, и не только, там можно задать сайты для которых разрешена отправка на распознавание:
var url = window.location.hostname; if (url=="freebitco.in" || url=="freedoge.co.in") { if (iimPlayCode(t0 + "TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:adcopy_response") < 0) reload(); iimPlayCode("ONDOWNLOAD FOLDER=" + Path + " FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT"); iimPlayCode("TAB OPEN\nTAB T=2"); for (skq = 1; skq <= 3; skq += 1) { iimPlayCode("SET !TIMEOUT 45\nURL GOTO=imacros2.rucaptcha.com/new/"); iimPlayCode(t0 + "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:getcapcha.php ATTR=NAME:get_id CONTENT=YES"); iimPlayCode(t0 + "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT=" + api); iimPlayCode(t0 + "TAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT=" + Path + "a.jpg"); iimPlayCode("SET !TIMEOUT 90\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*"); iimPlayCode(t0 + "TAG POS=1 TYPE=body ATTR=TXT:* EXTRACT=TXT"); if (iimGetExtract().search(/\d/)!=-1) { t = iimGetLastExtract().split("|"); iimDisplay("Разгадано?: " + t[0] + "\nID капчи: " + t[1] + "\nОтвет : " + t[2]); if (!t[2]) {break;} txt = t[2].replace(/ /gi, ""); if (iimGetExtract().indexOf("ERROR") < 0) break;}} window.close();}
Отредактировано karginaolga (03-10-2017 16:36:10)
Отсутствует
Здравствуйте. Подскажите пожалуйста, можно ли отправить гет-запрос одной строкой в браузере для распознавания рекапча на сайте
{ "clientKey":"dce6bcbb1a728ea8d871de6d169a2057", "task": { "type":"NoCaptchaTaskProxyless", "websiteURL":"http:\/\/mywebsite.com\/recaptcha\/test.php", "websiteKey":"6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16" }, "softId":0, "languagePool":"en" }
Отсутствует
Здравствуйте. Хотел спросить совета. У меня есть несколько скриптов на imacros+js, так некоторые работают нормально, другие же при работе периодически разворачиваются на весь экран imacros ( тот что слева в Mozilla) и зависают на несколько секунд. Так вот бывают отвисают, а бывают что так и остаются висеть в развернутом виде бесконечно долго. И это происходит в самые неподходящие времена во время моего отсутствия у компьютера. Так вот вопрос из за чего они разворачиваются и зависают... (при том зависают не постоянно, а периодически)
Происходит это при работе вот этого куска кода
function solve(ruCaptchaKey) { iP(standartcode + t0); var out = { isSolved: false, hasError: false, errorText: "no text" }; var reqCount = 0; function checkSolution (gkey, rucapKey) { if (reqCount > prob) { // second timeout out = { isSolved: false, hasError: true, errorText: "Rucaptcha timeout error." }; return; } weit(time_reload); var XMLHttpRequestT = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var xhr = new XMLHttpRequestT(); var url = "http://rucaptcha.com/res.php?key=" + ruCaptchaKey + "&action=get&id=" + gkey + "&json=1" xhr.open('GET', url, false); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.timeout = 60000; // processing results try { xhr.send(); if (xhr.status != 200) { out = { isSolved: false, hasError: true, errorText: xhr.statusText }; } else { var res = JSON.parse(xhr.responseText); if (res.status == 1) { window.document.querySelector('.g-recaptcha-response').style = ""; window.document.querySelector('.g-recaptcha-response').textContent = res.request; out = { isSolved: true, hasError: false, errorText: "Success!" }; } else { reqCount++; checkSolution (gkey, ruCaptchaKey) } } } catch (e) { out = { isSolved: false, hasError: true, errorText: e.name }; } } if (window.document.querySelector('.g-recaptcha') == null) { return { isSolved: false, hasError: true, errorText: "Recaptcha not found on page." }; } var dataSiteKey = window.document.querySelector('.g-recaptcha').getAttribute('data-sitekey'); var domen = window.location.host; var params = "key=" + ruCaptchaKey + "&method=userrecaptcha&googlekey=" + dataSiteKey + "&pageurl=" + domen + "&json=true&header_acao=1"; var XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1"); var xhr = new XMLHttpRequest(); xhr.open('POST', "http://rucaptcha.com/in.php", false); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.timeout = 60000; try { xhr.send(params); if (xhr.status != 200) { out = { isSolved: false, hasError: true, errorText: xhr.statusText }; } else { var res = JSON.parse(xhr.responseText); if (res.status == 1) { checkSolution(res.request, ruCaptchaKey); } else { out = { isSolved: false, hasError: true, errorText: xhr.statusText }; } } } catch (e) { out = { isSolved: false, hasError: true, errorText: e.name }; } return out; }
Отредактировано SM77 (04-10-2017 12:54:41)
Отсутствует
Люди, пишу скрипт для крана freebitcoin, а именно, чтобы макрос активировал бонус rewardspoints:
function rewards() { iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:REWARDS') iimPlayCode('WAIT SECONDS = 1') iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:REWARD<SP>POINTS<SP>BONUS') iimPlayCode('WAIT SECONDS = 1') // Проверяем поинты для активации бонуса rewards check: for (z=0; z<2; z++) { var rewardscheck = iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:reward_table_box<SP>br_0_0_5_5<SP>user_reward_points<SP>font_bold* EXTRACT=TXT'); rewardscheck = iimGetLastExtract(); if (rewardscheck => "1,200" ) { iimPlayCode('TAG POS=28 TYPE=BUTTON ATTR=TXT:REDEEM') // 1200 Rewards Points iimPlayCode('WAIT SECONDS = 1') break check } if (rewardscheck => "600" ) { iimPlayCode('TAG POS=29 TYPE=BUTTON ATTR=TXT:REDEEM') // 600 Rewards Points iimPlayCode('WAIT SECONDS = 1') break check } if (rewardscheck => "120" ) { iimPlayCode('TAG POS=30 TYPE=BUTTON ATTR=TXT:REDEEM') // 120 Rewards Points iimPlayCode('WAIT SECONDS = 1') break check } } iimPlayCode('SET !EXTRACT NULL') iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:FREE<SP>BTC<SP>BONUS') // Проверяем поинты для активации бонуса FreeBtcBonus checkone: for (m=0; m<2; m++) { var freebtcbonuscheck = iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:reward_table_box<SP>br_0_0_5_5<SP>user_reward_points<SP>font_bold* EXTRACT=TXT'); freebtcbonuscheck = iimGetLastExtract(); if (freebtcbonuscheck => "3,200" ) { iimPlayCode('TAG POS=18 TYPE=BUTTON ATTR=TXT:REDEEM') // 1000% Bonus iimPlayCode('WAIT SECONDS = 1') break checkone } if (freebtcbonuscheck => "1,600" ) { iimPlayCode('TAG POS=20 TYPE=BUTTON ATTR=TXT:REDEEM') // 500% Bonus iimPlayCode('WAIT SECONDS = 1') break checkone } } }
Проблема в числах и их сравнении. Java почему не может адекватно сравнить их.
Дело в том, что на сайте идет нумерация сначала ЦЕЛЫХ чисел rewards до 1000, а уже после 1000 числа идут с запятой 1,234; 1,512 и т.д. Баги начинаються в обоих случаях.
Вот один из примеров (сейчас 23 поинта)
var freebtcbonuscheck = iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:reward_table_box<SP>br_0_0_5_5<SP>user_reward_points<SP>font_bold* EXTRACT=TXT'); freebtcbonuscheck = iimGetLastExtract(); if (freebtcbonuscheck < "1000") { alert("Меньше") } if (freebtcbonuscheck < "1,300") { alert("Еще меньше") }
Вопрос:
1)Как мне сравнить целое число с целым? 23 и 1000
2)Целое число с нецелым числом 23 и 1,300
3)Нецелое число с нецелым 1,234 и 2,251
Как бы 3 в 1.
InfSub
Отредактировано FastSpeed (04-10-2017 22:27:42)
Отсутствует
FastSpeed
Числа пиши без ковычек, иначе это не число а строка
проверь тип переменной, тоже должна быть числом
И запятую меняй на точку
Отредактировано nikolay1987 (04-10-2017 22:43:45)
Отсутствует
nikolay1987 Для целых работает, а не для целых нет.
var freebtcbonuscheck = iimPlayCode('TAG POS=1 TYPE=DIV ATTR=CLASS:reward_table_box<SP>br_0_0_5_5<SP>user_reward_points<SP>font_bold* EXTRACT=TXT'); freebtcbonuscheck = iimGetLastExtract(); if (freebtcbonuscheck < 1000) { alert("МЕНЬШЕ 1000") } if (freebtcbonuscheck < 1.300) { alert("МЕНЬШЕ 1300") }
Добавлено 04-10-2017 23:02:55
FastSpeed
проверь тип переменной, тоже должна быть числом
Переменная, которая извлечена? Да, они либо целое число, либо целое с запятой 1,235.
InfSub
Отредактировано FastSpeed (04-10-2017 23:02:55)
Отсутствует
FastSpeed
var freebtcbonuscheck = 1.31 alert(typeof freebtcbonuscheck) if (freebtcbonuscheck < 1000) { alert("Меньше") } if (freebtcbonuscheck < 1.300) { alert("Еще меньше") }
Отсутствует
nikolay1987
Переменная freebtcbonuscheck у меня извлекаться с запятой, когда число свыше 1000.
Отредактировано FastSpeed (04-10-2017 23:33:36)
Отсутствует
FastSpeed, здравствуйте. Замените запятую
Отредактировано Ingrid (05-10-2017 01:37:30)
Отсутствует