Обсуждение скриптов и вопросов связанных с борьбой с капчами.
========================================================================
Начну пожалуй.
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
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
satoshi
1 проверка на то, что извлеченные данные - равны null
2 проверка извлеченных данных, на отсутствие текста/кода: 'checked="true'
3 проверка значения переменной checkcapcha, на отсутствие текста/кода: 'checked="true'
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
помогите пожалста
в чем может быть проблема почему неопределяет тип капчи??? ошыбка 921
for(w=1; w<=60; w++){ //<---Ищем фрейм капчи if(iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+w+'\nTAG POS=2 TYPE=DIV ATTR=TXT:reCAPTCHA')>0){ iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ROLE:presentation&&CLASS:recaptcha-checkbox-checkmark'); break;}} iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')<0); iimPlayCode('WAIT SECONDS=1'); iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')>0); for(w=1; w<=60; w++) iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+w+'\nEVENT TYPE=CLICK SELECTOR="#recaptcha-audio-button" BUTTON=0'); if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-text-instructions')<0) function CaptchaAssociation () function CaptchaAssociation () { var iP=iimPlayCode, iD=iimDisplay, t0='SET !TIMEOUT_STEP 0\n', t3='SET !TIMEOUT 30\n';
Отсутствует
InfSub привет не поможеш по рекапче?? мне надо разгадывать рекапчу до правельного ответа ,а в коде у меня прописаноо один раз,а я зеленый и немогу склеить,по форуму лазил неделю ,пробовал пробовал и закипел!! Вообще и даже близко не подошел к решению(((вот ккод к сайту
var key='-------------------'; var Path='C:\\CapNam\\'; iimPlayCode('SET !ERRORIGNORE YES'); iimPlayCode('SET !ERRORCONTINUE NO'); iimPlayCode('SET !TIMEOUT 60'); iimPlayCode('SET !ENCRYPTION NO'); iimPlayCode('URL GOTO=https://fastdice.com/home.php'); iimPlayCode('SET !TIMEOUT 3\nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:index.php ATTR=ID:txtUsername CONTENT=login'); iimPlayCode('SET !TIMEOUT 3\nTAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:frmPassword ATTR=ID:txtPassword CONTENT=pass'); iimPlayCode('SET !TIMEOUT 2\nTAG POS=1 TYPE=BUTTON FORM=ACTION:index.php ATTR=ID:btnSubmit'); iimPlayCode('SET !TIMEOUT 9\nTAG POS=1 TYPE=BUTTON ATTR=ID:btnFaucetModal'); 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:\\CapNam\\ FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); 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+'cap.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); iimPlayCode('WAIT SECONDS=1\nTAB CLOSE'); if(iimGetExtract().indexOf("ERROR")<0) break;}} // var captha = cText.replace(/\s/g, '<SP>'); // iimDisplay(captha); // if (captha == 'ERROR') { // return 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('WAIT SECONDS=4'); 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){ iimDisplay('галка стоит - уходим от сюда'); iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=BUTTON ATTR=ID:btnFctClaim'); // <--- Нажатие кнопки на самом сайте, тег кнопки может отличаться iimPlayCode('WAIT SECONDS=1'); function test1() { for(m=1; m<9; m++){ if(iimPlayCode(t1+f2+'TAG POS=1 TYPE=DIV ATTR=TABINDEX:0&&CLASS:rc-text-desc-wrapper')>0){ iimPlayCode(f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0'); weit(1);} else break;} reconekt(); //iimPlayCode('SET !TIMEOUT 2\nTAG POS=1 TYPE=BUTTON ATTR=ID:btnFctClaim'); iimPlayCode('SET !TIMEOUT 2\nTAG POS=1 TYPE=INPUT:NUMBER ATTR=ID:txtPayoutRate CONTENT=290'); iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=BUTTON ATTR=ID:btnMax'); iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=BUTTON ATTR=ID:btnRoll'); iimDisplay('Ожидаем 3 минуты') iimPlayCode('WAIT SECONDS=180'); }}
Отредактировано oiBeNdeRio (29-07-2016 03:08:45)
Отсутствует
PRESIDENT,InfSub !!! Ребя ,что не поможете разабраться в скрипте,а то голова не варит уже(
Отсутствует
oiBeNdeRio
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
oiBeNdeRio
offtopсорри, но в данный момент - я пасс, просто нет времени, через недельку - другую, пожалуйста, но не сейчас
Я понял ,спасибо )) ну если до того времени не поборю,помоги чем сможеш))
Отсутствует
oiBeNdeRio
function recaptcha(){ for(q=0; q<3; q++){ 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('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="false')>0){ iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0');} if(iimGetLastExtract().indexOf('checked="true')>0) q=10;}}}
Отредактировано Koks (30-07-2016 14:25:16)
Отсутствует
Товарищи, как мыслите, как можно выявлять лимит на кранах в данный момент? То есть такая ситуация: скрипт распознал капчу и нажал кнопку взятия сатош, а вместо сатош ему вот что показывают
Отредактировано dvitkovs (02-08-2016 08:36:49)
Отсутствует
dvitkovs
так сделайте поиск элемента на странице, с этим текстом
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
PRESIDENT пишетскрытый текстМой же пост на форуме зенопостера откопал, мустер это мой логин тамТак?
скрытый текстА я пошёл по неверному пути...А я пошёл по неверному пути...Расшифровка капчи от SolvMedia с помощью программы ABBYY Screenshot Reader.
Программа распознаёт текст на скриншоте капчи, может сохранять его в txt файл или в буфер обмена. Распознаются только ровные капчи без искажений.
Качество видео поганое...Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.
Здравствуйте! Как я понял, у вас есть опыт работы с программой ABBYY Fine Reader, так вот я себе установил, как бы распознает все верно.Одно но, сверху текста идет располагается кривая линия... ( по сути как бы капча неразгаданной считается, одно радует буквы идентичны, отличии от других программ). Вот с этой линией как бы справиться. У вас на видео программа отлично работает, как вы научили.в части фильтрации.Если не трудно пару рекомендаций можете скинуть..здесь сюда.или как принято тут личку.Жду спасибо.
Отсутствует
Подскажите,кто знает . Условие- если элемент пропал,то ...... Пробовал вместо "return", но игнор.
iimPlayCode('SET !ERRORIGNORE YES \nFRAME NAME="rc1"\nWAIT SECONDS=1\nEVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0\nWAIT SECONDS=3\nFRAME NAME="rc0"\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); var check=iimGetExtract(1); if(!check){return}; if (check.indexOf('checked="true')==-1){ t1=t1+1; if (t1<=2){ iimPlayCode(t0+'FRAME NAME="rc1"\nEVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0\nWAIT SECONDS=3'); Save (); return } else {t1=0;} }
Отсутствует
так сделайте поиск элемента на странице, с этим текстом
та я уже пробовал так, но данного элемента с этим текстом до того как капча разпознается, не обнаруживается.
вот ссылка на кран
Отсутствует
Кто-то просил antibot для каптчи X--, XXX, X-X-
Набросал
Видео:
var kap="javascript:document.write('<b><h1>Распознаём капчу !</h1></b>');window.stop();"; Path='C:\\CapNum\\solve\\'; iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=SRC:data:image/png* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); antibot(); iimDisplay('1: '+a[0]+'\n2: '+a[1]+'\n3: '+a[2]); iimPlayCode('PAUSE'); iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:Anti-Bot<SP>(<SP>'+a[0].replace(/-/gi,"O").replace(/—/gi,"OO").replace(/ten/gi,"10").replace(/nine/gi,"9").replace(/eight/gi,"8").replace(/seven/gi,"7").replace(/six/gi,"6").replace(/five/gi,"5").replace(/four/gi,"4").replace(/three/gi,"3").replace(/two/gi,"2").replace(/one/gi,"1")+'<SP>)'); iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:Anti-Bot<SP>(<SP>'+a[1].replace(/-/gi,"O").replace(/—/gi,"OO").replace(/ten/gi,"10").replace(/nine/gi,"9").replace(/eight/gi,"8").replace(/seven/gi,"7").replace(/six/gi,"6").replace(/five/gi,"5").replace(/four/gi,"4").replace(/three/gi,"3").replace(/two/gi,"2").replace(/one/gi,"1")+'<SP>)'); iimPlayCode('TAG POS=1 TYPE=A ATTR=TXT:Anti-Bot<SP>(<SP>'+a[2].replace(/-/gi,"O").replace(/—/gi,"OO").replace(/ten/gi,"10").replace(/nine/gi,"9").replace(/eight/gi,"8").replace(/seven/gi,"7").replace(/six/gi,"6").replace(/five/gi,"5").replace(/four/gi,"4").replace(/three/gi,"3").replace(/two/gi,"2").replace(/one/gi,"1")+'<SP>)'); /***-= Обрабатываем капчу =-***/ function antibot(){ iimDisplay('Обрабатываем капчу'); iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); for(skz=0; skz<=8; skz++){ iimDisplay('OCR'); weit(10); iimPlayCode('URL GOTO=file:///'+Path+'antibot.txt'); if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=div ATTR=ID:errorTitle&&TXT:Файл*не*найден')!=-1){ if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=div ATTR=ID:errorTitle&&TXT:Файл*не*найден')<0) break;}} iimPlayCode('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); a=iimGetLastExtract().replace(/ /gi,"").split(','); window.close(); }
Отредактировано Koks (03-08-2016 00:14:47)
Отсутствует
oiBeNdeRio
скрытый текстВыделить кодКод:
function recaptcha(){ for(q=0; q<3; q++){ 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('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="false')>0){ iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0');} if(iimGetLastExtract().indexOf('checked="true')>0) q=10;}}}
Привет вот ты дал пример,спасибо,а можеш для не опытных его полностью в коде применить на майом примере? чтобы твой кусок кода был правельно вставлен в моем примере кода выше)
за рание примного благадарен
Отсутствует
oiBeNdeRio
а дальше на заказ скриптов, смотрите ветку форума
Отсутствует
всем привет!
Объясните мне, дуре, на рукапчу нужно отправлять еще текстовую инструкцию для рекапчи2, а во всей ветке не найдено ни одного кода подобного, как же там разгадывают картинки без этой инструкции?
Добавлено 05-08-2016 17:18:38
if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-imageselect-desc-wrapper')>0) { for(a=1;a<30;a++) { iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-desc-no-canonical EXTRACT=TXT'); //alert(iimGetExtract()); if(iimGetExtract().indexOf('Когда')<0) { if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=table ATTR=CLASS:rc-imageselect-table-33')>0) break; else iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0'); } else { iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0 '); } iimPlayCode('WAIT SECONDS=4'); } // сохраняем картинку iimPlayCode('ONDOWNLOAD FOLDER=C:\\CAPCH\\ FILE=image.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=IMG ATTR=class:rc-image-tile-33 CONTENT=EVENT:SAVEPICTUREAS'); }
Отредактировано Elena007 (05-08-2016 17:18:38)
Отсутствует
oiBeNdeRio
а дальше на заказ скриптов, смотрите ветку форума
ну спасибо и на этом,а дальше ... попрошу не столь выгодных))
Удачи,спасибо за помощь)
Отсутствует
Elena007
Попробуйте так
reload(); /***-= Обновление капчи =-***/ function reload(){ for(z=1; z<50; z++){ a=iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=STRONG ATTR=TXT:дорожные<SP>знаки'); b=iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=STRONG ATTR=TXT:названиями<SP>улиц'); d=iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=STRONG ATTR=TXT:указатели'); e=iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=SPAN ATTR=TXT:Когда<SP>изображения<SP>закончатся,<SP>нажмите<SP>"Подтвердить".'); if(a>0 || b>0 || d>0 || e>0) { iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0'); continue;} break;}}
Отредактировано Koks (06-08-2016 09:39:51)
Отсутствует
батник для перезапуска
скрытый текстВыделить кодКод:
timeout 30 > NUL SET pathToFirefox=C:\FirefoxPortable erase /F /Q %pathToFirefox%\Data\profile\*.sqlite erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-shm erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-wal erase /F /Q %pathToFirefox%\Data\profile\sessionstore.js erase /F /Q /S %pathToFirefox%\Data\profile\cache2 erase /F /Q /S %pathToFirefox%\Data\profile\OfflineCache erase /F /Q /S %pathToFirefox%\Data\profile\safebrowsig erase /F /Q /S %pathToFirefox%\Data\profile\startupCache erase /F /Q /S %pathToFirefox%\Data\profile\thumbnails timeout 30 > NUL START %pathToFirefox%\FirefoxPortable.exe imacros://run/?m=ваш скрипт.js exit
Подскажи пожалуйста! Надо всю эту процедуру (удаление файлов) проделать со всеми копиями FF. На каждую прописовать? Или можно как-то проще это сделать? Да и кстати у тебя отсутствует taskkill.
Отсутствует
dim222
Вот это вместо taskkill
/***-= Функция перезагрузки браузера =-***/ function restart(){ iimDisplay('Перезагрузка браузера'); iimPlayCode('CLEAR'); var Cc=Components.classes, Ci=Components.interfaces, args=['']; 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:\\FirefoxPortable\\start.bat'); proc.init(file); proc.run(false, args, args.length); window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow) .document.getElementById('menu_FileQuitItem').click() }
Отредактировано Koks (06-08-2016 19:36:58)
Отсутствует
у вас что все копии установлены по одному пути - C:\FirefoxPortable ???
F:\FirefoxPortable , F:\FirefoxPortable2 и тд.
Вышеизложенный код, может убивать процессы конкретной копии?или по принципу taskkill? У меня получается убиваю процы всех копий, далее в каждой удаляю файлы и стартую.(батник не маленький получается, вот я и подумал , можно ли удалить файлы во всех копиях,не расписывая одно и тоже для каждой копии).
Отсутствует
скрытый текстdim222
Вот это вместо taskkillВыделить кодКод:
/***-= Функция перезагрузки браузера =-***/ function restart(){ iimDisplay('Перезагрузка браузера'); iimPlayCode('CLEAR'); var Cc=Components.classes, Ci=Components.interfaces, args=['']; 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:\\FirefoxPortable\\start.bat'); proc.init(file); proc.run(false, args, args.length); window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIWebNavigation) .QueryInterface(Components.interfaces.nsIDocShellTreeItem) .rootTreeItem .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow) .document.getElementById('menu_FileQuitItem').click() }
Привет.А таким же макаром можно сделать сворачивание браузера без использования vbs и cmd?
Отредактировано maloiprod (08-08-2016 03:34:20)
Отсутствует