2017-01-19 11 views
1

Ich habe ein großes Problem, das ich seit Tagen nicht lösen kann. Ich bin ein Makro-Neuling und ich möchte Nb_1 i Nb_2 und Nb_3 und Nb_4 vergleichen.Ich möchte überprüfen, ob das extrahierte Wort englische Buchstaben enthält

Meine Konfiguration ist iMacros für FF v9.0.3 Firefox 50.1.0 Windows-10

Nb_1 und Nb_2 seine Zahlen und das funktioniert.

Nb_3 und Nb_4 sind Wörter und es gibt ein Problem. Ich möchte überprüfen, ob! EXTRACT Wort enthält ein ',' b ',' c ',' d ',' e ',' f ',' g '... und wenn ja {x = 1;} else {x = 0;}

Wenn ich ein Wort extrahiere, wenn das Wort englische Buchstaben enthält und wenn ja - ich will {x = 1;}. Wenn nicht, möchte ich {x = 0;}.

Das ist mein Skript

'Extract 1st Number: 

SET !EXTRACT NULL 
TAG POS=4 TYPE=TD ATTR=CLASS:text-center:* EXTRACT=TXT 
SET Nb_1 {{!EXTRACT}} 
'> 
'Extract 2nd Number: 

SET !EXTRACT NULL 
TAG POS=5 TYPE=TD ATTR=CLASS:text-center:* EXTRACT=TXT 
SET Nb_2 {{!EXTRACT}} 
'> 

'Extract 3nd Word: 
SET !EXTRACT NULL 
TAG POS=2 TYPE=H5 ATTR=CLASS:media-heading EXTRACT=TXT 
SET Nb_3 {{!EXTRACT}} 
SET !EXTRACT NULL 

'Extract 4nd Word: 
SET !EXTRACT NULL 
SET Nb_4 {{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',}} 

TAG POS=R1 TYPE=BUTTON ATTR=CLASS:mainButton:* EXTRACT = HTM 
SET !VAR1 EVAL("var s = \"{{!EXTRACT}}\"; s = s.split(' ')[1]; s=s.replace('id=', ''); s=s.replace('4045549725', '');s;") 
SET Button EVAL("var n1='{{Nb_1}}', n2='{{Nb_2}}', n3='{{Nb_3}}', n4='{{Nb_4}}'; if((n1*1)>(n2*1)) else if(n3=n4) {x=1;} else{x=0;} x;") 

WAIT SECONDS=2 
TAG POS={{Button}} TYPE=BUTTON ATTR=ID:{{!VAR1}} 
SET !VAR5 EVAL("var randomNumber=Math.floor(Math.random()*2 + 1); randomNumber;") 
WAIT SECONDS={{!VAR5}} 

Nb_1 und Nb_2 richtig arbeiten, aber wenn ich versuche Nb_3 enthält 'a', 'b', 'c', 'd', wenn Wort zu überprüfen 'e ' 'f',' g ... und so weiter, ich bekomme diese Fehlermeldung

erwartet Ausdruck, bekam Stichwort 'else' Zeile: 30 (Fehlercode: -1001)

Dies funktioniert und Vergleichen von Nb_1 und Nb_2

SET Button EVAL("var n1='{{Nb_1}}', n2='{{Nb_2}}', n3='{{Nb_3}}', n4='{{Nb_4}}'; if((n1*1)>(n2*1)){x=1;} else{x=0;} x;") 

Aber, wenn ich Nb_3 und Nb_4 hinzufügen, bekomme ich und Fehler. Weiß jemand was ich falsch mache? Wenn jemand eine Idee hat, wie man das löst, bitte teilen. Dank

Antwort

1

Und die Verbindung von zwei Bedingungen zusammen:

SET Button EVAL("var x = 1; var w = '{{Nb_3}}'.replace(/\s/g, '').toLowerCase(); for (i = 0; i < w.length; i++) {if (w.charCodeAt(i) < 97 || w.charCodeAt(i) > 122) x = 0}; var n1='{{Nb_1}}', n2='{{Nb_2}}'; if((n1*1)>(n2*1)){y=1;} else{y=0;}; (x && y) ? 1 : 0;") 

Ich denke, der folgende Code sollte in Ihrem Fall hilfreich sein:

SET Button EVAL("var x = 1; var w = '{{Nb_3}}'.replace(/\s/g, '').toLowerCase(); for (i = 0; i < w.length; i++) {if (w.charCodeAt(i) < 97 || w.charCodeAt(i) > 122) x = 0} x;") 



Zuerst können Sie versuchen, versuchen Sie diese Zeile:

+0

Vielen Dank für die Antwort @Shugar Ich habe versucht, aber es funktioniert nicht. Dieser Code vergleicht Nb_1 und Nb_2 'SET Button EVAL (" var n1 = '{{Nb_1}}', n2 = '{{Nb_2}}'; wenn ((n1 * 1)> (n2 * 1)) {x = 1;} else {x = 0;} x; ")' Aber wenn ich deinen Code hinzufüge, funktioniert es nicht. Es erkennt keine arabischen Buchstaben im Vergleich zu englischen Buchstaben. – nameisaq

+0

Diese Frage ist für mich noch unklar. Meinst du "mindestens einen englischen Buchstaben" oder "alle englischen Buchstaben" in der Variablen "Nb_3"? – Shugar

+0

Ich meine alle englischen leters wenn das Wort. Ich werde versuchen, dir ein Beispiel zu geben. Wenn das Wort (ス ポ イ ト) x = 0 ist und wenn Wort (Beispiel) ist, dann ist x = 1. Wenn das Wort (Beispiel ポ) ist, dann ist x = 0. Wichtig für mich ist, dass das Wort alle englischen Buchstaben enthält. Nochmals vielen Dank @Shugar – nameisaq

Verwandte Themen