2016-07-17 2 views
0

Я не понимаю iMacros и новичков. На самом деле существует регулярный скрипт iMacro, который работает правильно, но я хочу сделать JavaScript по мере необходимости, можно зацикливать до 17 страниц (общая страница), где на каждой странице есть 10 строк данных, которые нужно извлечь.Обычный iMacros преобразуется в JavaScript, но все еще не работает

Вот что я пробовал, но не преуспел. Пожалуйста, помогите, спасибо.

for(var PAGE = 1; PAGE <= 17; PAGE++) 
{ 
    iimSet("page", PAGE) 
    iimPlay('CODE:'+'SET !TIMEOUT_PAGE 50'+'\nURL GOTO=http://www.somebody-is-you.com/s/{{page}}?lim=10&reg_code=JINNY'); 
    iimPlay('CODE:'+'WAIT SECONDS=2'); 

    for(var POST = 1; POST <= 10; POST++) 
    { 
     iimPlay('CODE:'+'SET !REPLAYSPEED FAST'); 
     iimPlay('CODE:'+'SET !ERRORIGNORE YES'); 
     iimPlay('CODE:'+'SET !EXTRACT_TEST_POPUP NO'); 
     iimPlay('CODE:'+'SET !VAR1 {{!URLCURRENT}}'); 

     iimPlay('CODE:'+'TAG POS=1 TYPE=BUTTON FORM=ACTION:/agent/s ATTR=CLASS:dropdown-toggle EXTRACT=TXT'); 
     var DROPSHIP_AREA= iimGetLastExtract(1); 

     iimPlay('CODE:'+'TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:agent'); 
     iimPlay('CODE:'+'SET !VAR3 {{!URLCURRENT}}'); 
     iimPlay('CODE:'+'SET !EXTRACT {{!VAR3}}'); 

     iimPlay('CODE:'+'TAG POS=1 TYPE=H3 ATTR=TXT:* EXTRACT=TXT'); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=SPAN ATTR=TXT:+62<SP>*'); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=SPAN ATTR=TXT:+62<SP>* EXTRACT=TXT'); 
     var NO_HP= iimGetLastExtract(1); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=SPAN ATTR=CLASS:agency EXTRACT=TXT'); 
     var AGENCY= iimGetLastExtract(1); 

     iimPlay('CODE:'+'SET !TIMEOUT_TAG 1'); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=UL ATTR=CLASS:list-checked EXTRACT=TXT'); 
     var CHECKLIST_AREA= iimGetLastExtract(1); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=H1 ATTR=TXT:*<SP>Listing EXTRACT=TXT'); 
     var KERANJANG_BELANJA= iimGetLastExtract(1); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=A ATTR=CLASS:show-more&&HREF:#show-more*'); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=DIV ATTR=CLASS:agent-de EXTRACT=TXT'); 
     var TTG_DETAIL_SIAGENT= iimGetLastExtract(1); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=A ATTR=TITLE:&&TARGET:_blank&&TXT:* EXTRACT=TXT'); 
     var LINK_WEB_SIAGENT= iimGetLastExtract(1).replace('/#EANF#/g', ''); 

     iimPlay('CODE:'+'TAG POS=1 TYPE=A ATTR=TARGET:_blank&&TXT:*.agent.fr/new'); 
     iimPlay('CODE:'+'TAB T=2'); 
     iimPlay('CODE:'+'SET !TIMEOUT_STEP 0'); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=DIV ATTR=CLASS:a_addr&&TXT:* EXTRACT=TXT'); 
     var NO_HP_LAINNYA= iimGetLastExtract(1).replace('/#EANF#/g', ''); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=DIV ATTR=CLASS:a_addr&&TXT:PIN<SP>* EXTRACT=TXT'); 
     var PIN_BBM= iimGetLastExtract(1).replace('/#EANF#/g', ''); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=DIV ATTR=ID:a_info&&TXT:* EXTRACT=TXT'); 
     var CAMPUR_NAMA_EMAIL_BBM= iimGetLastExtract(1).replace('/#EANF#/g', ''); 
     iimPlay('CODE:'+'TAG POS=1 TYPE=DIV ATTR=CLASS:samsung-note-7&&STYLE:padding-top:* EXTRACT=TXT'); 
     var CAMPUR_HPHP= iimGetLastExtract(1).replace('/#EANF#/g', ''); 

     iimSet('dropship_area',DROPSHIP_AREA); 
     iimSet('no_hp',NO_HP); 
     iimSet('agency',AGENCY); 
     iimSet('checklist_area',CHECKLIST_AREA); 
     iimSet('keranjang_belanja',KERANJANG_BELANJA); 
     iimSet('ttg_detail_siagent',TTG_DETAIL_SIAGENT); 
     iimSet('link_web_siagent',LINK_WEB_SIAGENT); 
     iimSet('no_hp_lainnya',NO_HP_LAINNYA); 
     iimSet('pin_bbm',PIN_BBM); 
     iimSet('campur_nama_email_bbm',CAMPUR_NAMA_EMAIL_BBM); 
     iimSet('campur_hphp',CAMPUR_HPHP); 

     iimPlay('CODE:\nADD !EXTRACT {{no_hp}}\nADD !EXTRACT {{agency}}\nADD !EXTRACT {{checklist_area}}\nADD !EXTRACT {{keranjang_belanja}}\nADD !EXTRACT {{ttg_detail_siagent}}\nADD !EXTRACT {{link_web_siagent}}\nADD !EXTRACT {{no_hp_lainnya}}\nADD !EXTRACT {{pin_bbm}}\nADD !EXTRACT {{campur_nama_email_bbm}}\nADD !EXTRACT {{campur_hphp}}\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=result-{{dropship_area}}-JS.csv'); 

     iimPlay('CODE:'+'TAB OPEN NEW'); 
     iimPlay('CODE:'+'TAB T=2'); 
     iimPlay('CODE:'+'TAB CLOSEALLOTHERS'); 
     iimPlay('CODE:'+'URL GOTO={{!VAR1}}'); 
     iimPlay('CODE:'+'WAIT SECONDS=1'); 
     iimPlay('CODE:'+'SET !EXTRACT NULL'); 


    } 
} 

ответ

1

Если вы «не понимаете iMacros», я бы не посоветовал применить интерфейс JavaScript Scripting Interface. Ниже приведен код, который в некоторой степени имитирует вложенные циклы. Он должен воспроизводиться в обычном режиме (не). Я заметил возможность настроить этот шаблон для работы с iim-кодом. Попытайтесь это сделать.

SET numPages 17 
SET numPosts 10 

SET startLoop 1 
SET maxLoop EVAL({{numPages}}*{{numPosts}}) 
SET !LOOP EVAL(1-{{maxLoop}}+{{startLoop}}) 
SET normLoop EVAL({{!LOOP}}+{{maxLoop}}-1) 

SET curPage EVAL(~~(({{normLoop}}-1)/{{numPosts}})+1) 
SET curPost EVAL({{normLoop}}%{{numPosts}}==0?{{numPosts}}:{{normLoop}}%{{numPosts}}) 

' do something according to the {{curPage}} and {{curPost}} values ' 
+0

я положил весь код от вас Shugar затем положить в мой существующий макрос в строке-5 после того, как некоторые из статусов «SET», а затем играют нормально. НЕ РАБОТАЙ, читайте только строку 1 frfom на веб-сайте, который я хочу очистить, а значения в CURRENT iMacros - -3358. Как получилось? :-) –

+1

Возможно, вы что-то сделали неправильно. Вы должны были отрегулировать код, но не просто вставить его в свой. Поэтому предоставьте рабочий iim-macro. – Shugar

 Смежные вопросы

  • Нет связанных вопросов^_^