2016-10-01 29 views
1

我正在使用Firefox,iMacros和js。運行腳本時排除網址

我有一個URLs.txt - 文件與URL列表。在Firefox中,我在表格1中有一個webpage open。這個網站包含很多網址。其中一些在我的文本文件中。 我正在嘗試創建一個簡單的腳本,它將跳過我的文本文件中的URL並在下一個選項卡中打開每個URL。 10一次。因此,選項卡2-11應該用不在我的文本文件中的新URL打開。 這是我的JavaScript,但它不工作:

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只是打開的選項卡使用URL,但在這個腳本它從來沒有跳過那些在我的列表中的URL。我需要幫助來修復此代碼。

這是openURL.iim樣子(爲第4個選項卡):

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

我現在在線上。請任何人誰可以幫助讓我知道。 – NoIdeaJoe

+0

你的腳本可能看起來完全不同。我只對做這項工作感興趣。很明顯,我的腳本不夠充分,部分錯誤 – NoIdeaJoe

+0

我會爲任何完成這項工作的人捐款。我真的需要這個 – NoIdeaJoe

回答

0

我可以給你一個線索。讓我們把你的TXT文件與網址,像這樣的列表:

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

注重的事實,只有兩個雙引號:在開始和在這個列表的末尾。
所以,你的腳本可能看起來像:

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"'); 

我離開目標網站爲你測試這個代碼。

+0

哇!非常感謝。你做了一件令人難以置信的工作我剛剛給你發了一封電子郵件。我想再補充一些。請看一看。 – NoIdeaJoe