imacros firefox使用csv文件在搜索框中输入关键字并提取结果

时间:2013-05-19 00:40:09

标签: javascript loops csv web-scraping imacros

我正在使用firefox的imacros免费插件从网站上的javascript搜索表单中删除数据。到目前为止,这是我的宏的细分。

以下宏的这一部分会自动在搜索表单中输入关键字“超人”。

VERSION BUILD=8300326 RECORDER=FX
TAB T=1
URL GOTO=http://www.example.com/pricelist
FRAME F=1
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/Pricelistsearchform/ ATTR=ID:Keyphrase CONTENT=superman
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/Pricelistsearchform ATTR=NAME:SearchBarcode&&VALUE:Get<SP>Value

现在加载结果列表,我使用以下代码循环遍历每个结果并提取结果:

SET !LOOP 3
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[{{!LOOP}}]/td[1]/a
TAG XPATH=id('Results')/table/tbody/tr[2]/td[2] EXTRACT=TXT
TAG XPATH=id('Results')/table/tbody/tr[2]/td[4] EXTRACT=TXT
BACK

我想修改代码以使用csv文件自动在搜索字段中一次输入一个名称,然后循环并正常提取所有结果。

例如,如果我有一个看起来像这样的csv文件:超人,超人2,超人3 ...等 我希望宏将“超人”输入搜索表单,循环遍历所有结果并提取它们。然后它应该输入“超人2”并提取所有结果等等......

我已经在下面的示例中使用!DATASOURCE命令进行了实验但没有成功。我不确定我是否需要将我的宏分成两个单独的,因为我在下面的示例中有两个循环,或者是否可以使用javascript实现。

VERSION BUILD=8300326 RECORDER=FX
TAB T=1
SET !DATASOURCE titlelist.csv
SET !DATASOURCE_LINE {{!LOOP}
URL GOTO=http://www.example.com/pricelist
FRAME F=1
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/Pricelistsearchform/ ATTR=ID:Keyphrase CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/Pricelistsearchform ATTR=NAME:SearchBarcode&&VALUE:Get<SP>Value 
SET !LOOP 3 
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[{{!LOOP}}]/td[1]/a
TAG XPATH=id('Results')/table/tbody/tr[2]/td[2] EXTRACT=TXT
TAG XPATH=id('Results')/table/tbody/tr[2]/td[4] EXTRACT=TXT
BACK

非常感谢您的帮助

0 个答案:

没有答案