2016-10-01 4 views
1

Ich benutze Firefox, iMacros und js.URLs ausschließen, wenn ein Skript ausgeführt wird

Ich habe eine URLs.txt -Datei mit einer Liste von URLs. In Firefox habe ich eine webpage open in Tab 1. Diese Website enthält viele URLs. Einige davon sind in meiner Textdatei. Ich versuche ein einfaches Skript zu erstellen, das die URLs aus meiner Textdatei überspringt und die anderen URLs in den nächsten Tabs öffnet. 10 auf einmal. Daher sollte Tab 2-11 mit neuen URLs geöffnet werden, die nicht in meiner Textdatei enthalten sind. Das ist mein JavaScript, aber es funktioniert nicht:

var macro; 
var ret; 

macro ="CODE:"; 
macro +="SET !DATASOURCE URLs.txt"+"\n" 
macro +="SET !ERRORIGNORE YES"+"\n"; 
macro +="TAG POS=1 TYPE=HTML ATTR=* EXTRACT=HTM"+"\n"; 
macro +="SET !DATASOURCE_LINE {{!LOOP}}"+"\n"; 

iimPlay(macro) 
var text=iimGetExtract(); 

if(text.search("00016")!=-1) { 
ret = iimPlay("donothing.iim"); 
    } 

    else if (ret != -101) { 
    ret = iimPlay("openURL.iim"); 
} 

openURL.iim einfach öffnet Tabs mit URLs, aber in diesem Skript überspringt es nie diese URLs, die in meiner Liste sind. Ich brauche Hilfe, um diesen Code zu reparieren.

das ist, was openURL.iim sieht aus wie (für die ersten 4 Registerkarten):

VERSION BUILD=9030808 RECORDER=FX 
TAB T=1 
EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI>A" BUTTON=0 MODIFIERS="ctrl" 
EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(2)>A" BUTTON=0 MODIFIERS="ctrl" 
EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(3)>A" BUTTON=0 MODIFIERS="ctrl" 
EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(4)>A" BUTTON=0 MODIFIERS="ctrl" 
EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(5)>A" BUTTON=0 MODIFIERS="ctrl" 
.... 
+0

Ich bin jetzt online. Bitte, jeder der mir helfen kann, lässt es mich wissen. – NoIdeaJoe

+0

Ihr Skript kann völlig anders aussehen. Ich bin nur daran interessiert, diese Arbeit zu machen. Offensichtlich ist mein Skript ungenügend und teilweise falsch – NoIdeaJoe

+0

Ich werde eine nette Spende für jeden machen, der dies erledigt. Ich brauche das wirklich – NoIdeaJoe

Antwort

0

Ich kann Ihnen einen Anhaltspunkt geben. Lassen Sie uns Ihre txt-Datei mit der Liste der URLs in etwa so machen:

"http://www.example1.com 
http://www.example2.com 
http://www.example3.com" 

Achten Sie auf die Tatsache, dass es nur zwei doppelte Anführungszeichen sind: am Anfang und am Ende dieser Liste.
So kann Ihr Skript wie folgt aussehen:

iimPlayCode (
    "SET !DATASOURCE URLs.txt" + "\n" + 
    "SET !EXTRACT {{!COL1}}" 
); 
var excLinks = iimGetExtract().split(/\s+/); 

var incLinks = []; 
for (i = 1; i <= window.document.querySelectorAll("HTML>BODY>UL:nth-of-type(2)>LI").length; i++) 
    if (excLinks.indexOf(window.document.querySelector("HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(" + i + ")>A").href) == -1) 
     incLinks.push(i); 

for (i = 0; i < Math.min(incLinks.length, 10); i++) 
    iimPlayCode('EVENT TYPE=CLICK SELECTOR="HTML>BODY>UL:nth-of-type(2)>LI:nth-of-type(' + incLinks[i] + ')>A" BUTTON=0 MODIFIERS="ctrl"'); 

ich auf der Ziel Website diesen Code zu testen für Sie hinterlassen.

+0

wow! Ich danke dir sehr. Du hast einen unglaublichen Job gemacht! Ich habe dir gerade eine Mail geschickt. Ich würde gerne noch ein paar Dinge hinzufügen. Bitte guck dir das an. – NoIdeaJoe

Verwandte Themen