如何防止 "items do not exist" 中的行出现在 EXTRACT csv 中?
How do I prevent the rows from "items do not exist" to appear in the EXTRACT csv?
OS: Windows 8.1 64 位 iMacros 10.0.2
美好的一天,我的数据源是一个 .csv,其中包含我用来在网站中搜索的术语。搜索结果是单独的页面,具体取决于搜索词。碰巧对于某些搜索词,不存在单独的页面,并且我正在搜索的网站显示“0 项存在”消息。 iMacros 仍然根据它的标签定位和“0 项存在”页面的 DOM 结构提取数据,或者在它没有在页面上找到标签匹配的情况下获取#EANF#。然后,iMacros 将提取的那个保存在提取 csv 的一行中。我希望从 CODE: SELECT ALL SAVEAS TYPE=EXTRACT .csv 中排除属于“0 items exist”网页的行(换句话说,我提取的 CSV 仅显示从网站提取的完整数据)。
问题:如何防止来自 "items do not exist" 的行出现在 EXTRACT csv 中?放置的条件是什么样的?谢谢。
您可以试试这个解决方法:
SET csvFolder EVAL("('{{!EXTRACT}}'.match(/#EANF#/)) ? 'noSuchFolder' : '*';")
SET !ERRORIGNORE YES
SAVEAS TYPE=EXTRACT FOLDER={{csvFolder}} FILE=extracts.csv
SET !ERRORIGNORE NO
您也可以使用 JavaScript 执行此操作。如果搜索不匹配,下面的代码将在 csv 中写入 "Search not matched",否则将写入搜索文本
iimPlay("CODE:TAG POS=1 TYPE=P ATTR=CLASS:****** EXTRACT=TXT\n"); //here you need to mention your extract tag
var tmp = iimGetLastExtract().trim();
if(tmp.indexOf("EANF")!= -1)
{
var Val1='Search not matched';
iimSet("Val1",Val1);
iimPlay("CODE:ADD !EXTRACT {{Val1}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
}
else
{
iimSet("tmp",tmp);
iimPlay("CODE:ADD !EXTRACT {{tmp}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
};
如果你只想存储搜索文本,试试下面的代码
iimPlay("CODE:TAG POS=1 TYPE=P ATTR=CLASS:****** EXTRACT=TXT\n"); //here you need to mention your extract tag
var tmp = iimGetLastExtract().trim();
if(tmp.indexOf("EANF")== -1)
{
iimSet("tmp",tmp);
iimPlay("CODE:ADD !EXTRACT {{tmp}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
};
OS: Windows 8.1 64 位 iMacros 10.0.2
美好的一天,我的数据源是一个 .csv,其中包含我用来在网站中搜索的术语。搜索结果是单独的页面,具体取决于搜索词。碰巧对于某些搜索词,不存在单独的页面,并且我正在搜索的网站显示“0 项存在”消息。 iMacros 仍然根据它的标签定位和“0 项存在”页面的 DOM 结构提取数据,或者在它没有在页面上找到标签匹配的情况下获取#EANF#。然后,iMacros 将提取的那个保存在提取 csv 的一行中。我希望从 CODE: SELECT ALL SAVEAS TYPE=EXTRACT .csv 中排除属于“0 items exist”网页的行(换句话说,我提取的 CSV 仅显示从网站提取的完整数据)。
问题:如何防止来自 "items do not exist" 的行出现在 EXTRACT csv 中?放置的条件是什么样的?谢谢。
您可以试试这个解决方法:
SET csvFolder EVAL("('{{!EXTRACT}}'.match(/#EANF#/)) ? 'noSuchFolder' : '*';")
SET !ERRORIGNORE YES
SAVEAS TYPE=EXTRACT FOLDER={{csvFolder}} FILE=extracts.csv
SET !ERRORIGNORE NO
您也可以使用 JavaScript 执行此操作。如果搜索不匹配,下面的代码将在 csv 中写入 "Search not matched",否则将写入搜索文本
iimPlay("CODE:TAG POS=1 TYPE=P ATTR=CLASS:****** EXTRACT=TXT\n"); //here you need to mention your extract tag
var tmp = iimGetLastExtract().trim();
if(tmp.indexOf("EANF")!= -1)
{
var Val1='Search not matched';
iimSet("Val1",Val1);
iimPlay("CODE:ADD !EXTRACT {{Val1}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
}
else
{
iimSet("tmp",tmp);
iimPlay("CODE:ADD !EXTRACT {{tmp}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
};
如果你只想存储搜索文本,试试下面的代码
iimPlay("CODE:TAG POS=1 TYPE=P ATTR=CLASS:****** EXTRACT=TXT\n"); //here you need to mention your extract tag
var tmp = iimGetLastExtract().trim();
if(tmp.indexOf("EANF")== -1)
{
iimSet("tmp",tmp);
iimPlay("CODE:ADD !EXTRACT {{tmp}}\n SAVEAS TYPE=EXTRACT FOLDER=* FILE=Searchextract.csv");
};