2014-06-30 2 views
0

여기에 자바 스크립트 질문에 대한 일부 imacro가 있지만 필요한 것은 무엇이든지 줄 수 없습니다 ...이 질문을 시도 : Imacros: Random wait time? 및이 질문은 How to loop only a series of steps in iMacros (이것은 도움이되었지만, 지금은 약간 버그가 있습니다.) 왜 이것이 작동하지 않는지 알 수 없습니다 ...Javascript + Imacro 코드 단계와 루프 섹션 사이의 무작위 대기 시간

내가하고 싶은 일은 imacros를 사용하여 Tumblr의 사람들을 팔로우하고 싶습니다. 나는 그것이 새로운 사람을 따르는 0에서 11 초 안에 임의의 시간을 선택하기를 원하기 때문에 Math.random() 함수를 추가했습니다.

나는 오직 한 번만 실행해야하기 때문에 imacro 번 코드의이 부분을 실행하려면 : 다음

window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n"; 
var rand = "Math.random()*7 + 5"; 
var macro = "CODE:SET !REPLAYSPEED FAST" + "\n"; 
var macro = "CODE:SET !ERRORIGNORE YES" + "\n"; 
macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n"; 

내가 루프에 코드의이 부분 (실제 다음 단계를) 원하는 :

for(var i=0;i<100;i++)  
{ 
iimDisplay(i);  
iimSet("i", i);  
iimSet("rand", rand);  
iimPlay(macro); 
} 

이 코드 줄을 제외하고 잘 작동 :

macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n";  
macro += "WAIT SECONDS={{rand}}"; 

그것은이를 사용하여 루프 : macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n";var rand = "Math.random()*7 + 5;"이 제대로 작동하지 않는 것 같습니다. 코드의 첫 번째 부분은 그리드보기를 작동시킬 수 없기 때문에 tumblr의 "그리드보기"대신 "목록보기"를 선택하도록하는 것입니다 (누군가가 왜 작동하지 않는지에 대한 통찰력이 있다면 큰 일은 아니지만 큰 일은 아닙니다.) 코드의 두 번째 부분은 항상 rand을 11 초로 설정하기 때문에 제대로 작동하지 않습니다 ... Math.random() 함수가 제대로 작동하지 않아서 알아낼 수없는 것처럼 보입니다. 확실히,

window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n"; 
var rand = "Math.random()*7 + 5"; 
var macro = "CODE:SET !REPLAYSPEED FAST" + "\n"; 
var macro = "CODE:SET !ERRORIGNORE YES" + "\n"; 
macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n"; 
macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n";  
macro += "WAIT SECONDS={{rand}}"; 
for(var i=0;i<100;i++)  
{ 
iimDisplay(i);  
iimSet("i", i);  
iimSet("rand", rand);  
iimPlay(macro); 
} 

답변

0

var rand = "Math.random()*7 + 5";는 문자열을 반환

시도 :

여기 내 전체 코드의 루프 내부의 랜드를 이동하도록 편집

window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n"; 

    var macro = "CODE:SET !REPLAYSPEED FAST" + "\n"; 
    macro += "CODE:SET !ERRORIGNORE YES" + "\n"; 
    macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n"; 
    macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n"; 
    macro += "WAIT SECONDS={{rand}}"; 
    for (var i = 0; i < 100; i++) { 
     var rand = Math.random() * 7 + 5; //<--rand should be inside the loop 
     iimSet("i", i); 
     iimSet("rand", rand); 
     iimPlay(macro); 
     iimDisplay(i); 
    } 

. 미안 내 실수.

+0

하나의 문제점을 인식했지만 해결할 수 없었습니다. 코드가 반복 할 때마다 새로운 난수를 생성하지 않는 이유는 명령 앞에'var '이 있기 때문에 한 번만 난수를 설정하기 때문입니다. 'macro'가 앞에있는 다른 코드로 실행되도록하려면 어떻게해야합니까? 'rand'를 제거하면'iimSet ("rand", rand)'에 대한 place holder가 없다. 당신이 보여요? iimPlay (rand)를'iimPlay (macro)'위에 놓을 수는 있지만 더 좋은 방법이 있을까요? –

+0

업데이트 : 위와 같이 시도했지만, 정의되지 않았기 때문에'rand'를 인식하지 못합니다 ... –

관련 문제