iMacros iimGetExtract()
我是JavaScript新手,我需要一些帮助,从iMacros获取最后提取的值。问题是,当我使用JavaScript函数alert()
时,它显示正确的最后提取,但如果条件不起作用。宏iMacros iimGetExtract()
步骤:
Click on image which is positioned based on LOOP
Click on button and if there exists a text, extract the text and if text is 2 start another iim code. The code is more complex, this is only part for extract debug which is important for conditionals which starts another piece of code
我得到的错误是:
TypeError: path is undefined, line -633 (Error code: -991)
下面是代码:
var numPage = prompt("current numPage?");
numPage++;
var i = 1;
var macroStart;
macroStart = "CODE:";
macroStart += "'set global variables" + "\n";
macroStart += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macroStart += "SET tabCheck NULL" + "\n";
macroStart += "SET !ERRORIGNORE YES" + "\n";
macroStart += "SET !EXTRACT NULL" + "\n";
macroStart += "SET !TIMEOUT_STEP 1" + "\n";
macroStart += "SET !CLIPBOARD NULL" + "\n";
macroStart += "SET productUrl {{!URLCURRENT}}" + "\n";
macroStart += "TAG POS={{i}} TYPE=IMG ATTR=SRC:https://www.xxx.sk/admin/xxx/xxx/img/uprav.gif" + "\n";
macroStart += "TAG POS=1 TYPE=A ATTR=ID:zalozka_obrazky" + "\n";
macroStart += "TAG POS=1 TYPE=A ATTR=TXT:2 EXTRACT=TXT" + "\n";
macroStartExtract = iimGetLastExtract();
if (macroStartExtract == 2) {
var goToProductUrl;
goToProductUrl += "'back to main product's page" + "\n";
goToProductUrl += "SET !VAR5 2" + "\n";
goToProductUrl += "PROMPT !VAR5" + "\n";
iimPlay(goToProductUrl);
} else {iimPlay(goToProductUrl);}
var macroChangePage;
macro2 = "CODE:"
macro2 += "TAG POS=2 TYPE=A ATTR=TXT:{{numPage}}"
while (i < 2) {
iimSet("i",i)
iimPlay(macroStart)
i++;
if (i == 2) {
iimSet("numPage", numPage)
iimPlay(macroChangePage)
numPage++
i = 1;
}
}
我检查,出现问题的代码,我发现它在下面的块中失败。
else {iimPlay(goToProductUrl);}
由于goToProductUrl变量在if条件中得到了定义。 if没有被执行,当它进入else块时,变量是未定义的,因此程序失败。由于缺少URL而无法检查程序是否工作,但是如果else块是这样的?
else {iimPlay(macroStart);}
javascript错误已修复,请在删除错误后尝试构建代码。
var numPage = prompt("current numPage?");
numPage++;
var i = 1;
var macroStart;
macroStart = "CODE:";
macroStart += "'set global variables" + "\n";
macroStart += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macroStart += "SET tabCheck NULL" + "\n";
macroStart += "SET !ERRORIGNORE YES" + "\n";
macroStart += "SET !EXTRACT NULL" + "\n";
macroStart += "SET !TIMEOUT_STEP 1" + "\n";
macroStart += "SET !CLIPBOARD NULL" + "\n";
macroStart += "SET productUrl {{!URLCURRENT}}" + "\n";
macroStart += "TAG POS={{i}} TYPE=IMG ATTR=SRC:https://www.xxx.sk/admin/xxx/xxx/img/uprav.gif" + "\n";
macroStart += "TAG POS=1 TYPE=A ATTR=ID:zalozka_obrazky" + "\n";
macroStart += "TAG POS=1 TYPE=A ATTR=TXT:2 EXTRACT=TXT" + "\n";
macroStartExtract = iimGetLastExtract();
if (macroStartExtract == 2) {
var goToProductUrl;
goToProductUrl += "'back to main product's page" + "\n";
goToProductUrl += "SET !VAR5 2" + "\n";
goToProductUrl += "PROMPT !VAR5" + "\n";
iimPlay(goToProductUrl);
} else {iimPlay(macroStart);}
var macroChangePage;
macro2 = "CODE:"
macro2 += "TAG POS=2 TYPE=A ATTR=TXT:{{numPage}}"
while (i < 2) {
iimSet("i",i)
iimPlay(macroStart)
i++;
if (i == 2) {
iimSet("numPage", numPage)
iimPlay(macroChangePage)
numPage++
i = 1;
}
}
感谢您的帮助和解决方案:) – Jakub
该imacros在哪个页面上运行?比如你从哪个网站上刮取? –
它是一个eshop的内部管理菜单,宏应该复制产品ID,从供应商网站上下载并上传缺少的图片。它现在可以使用简单的图像编辑器,但它可以“硬编码”下载5张图片,即使有有时只有2张图片,它匹配文字“图片无法上传”,然后进入空白标签页1,然后宏等待,直到它可以进入产品页面并点击编辑产品... – Jakub
没有网站ok会很难编码,无论如何,好工作修复它 –