我正在使用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
非常感谢您的帮助