У меня есть следующий файл iim:
TAB T=1
TAB CLOSEALLOTHERS
SET !EXTRACT_TEST_POPUP NO
URL GOTO=http://example.com
SET !DATASOURCE csv_example.csv
SET !DATASOURCE_COLUMNS 2
' it will loop trought 1000 records
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
' input fields from csv file
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ex1 ATTR=NAME:im1 CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:ex1 ATTR=NAME:im2 CONTENT={{!COL2}}
' submit form
TAG POS=1 TYPE=A FORM=NAME:ex1 ATTR=TXT:Submit
' wait while ajax request finish
WAIT SECONDS=60
' start extract to csv file
' first results
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input1 EXTRACT=TXT
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input2 EXTRACT=TXT
ADD !EXTRACT "1"
TAG POS=1 TYPE=A ATTR=ID:apple1 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:hp1 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:lg1 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:canon1 EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=C:\iMacros FILE=Example_{{!NOW:yyyymmdd}}.csv
' second results
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input1 EXTRACT=TXT
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input2 EXTRACT=TXT
ADD !EXTRACT "2"
TAG POS=1 TYPE=A ATTR=ID:apple2 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:hp2 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:lg2 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:canon2 EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=C:\iMacros FILE=Example_{{!NOW:yyyymmdd}}.csv
' third results
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input1 EXTRACT=TXT
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:input2 EXTRACT=TXT
ADD !EXTRACT "3"
TAG POS=1 TYPE=A ATTR=ID:apple3 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:hp3 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:lg3 EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=ID:canon3 EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=C:\iMacros FILE=Example_{{!NOW:yyyymmdd}}.csv
Но проблема в том, что когда, например,
TAG POS = 1 TYPE = A ATTR = ID: apple3 EXTRACT = TXT
Не найден на странице результатов, он не экспортируется в файл csv как "", но сразу экспортирует текст следующего элемента
TAG POS = 1 TYPE = A ATTR = ID: hp3 EXTRACT = TXT,
И из-за этого в этой строке не 7 столбцов, а, например, 6, и я не могу проверить, какое значение пусто, потому что они экспортируются с разделителями-запятыми.
Насколько мне известно, iMacros не поддерживает операторы if else, поэтому я не могу проверить, пустой он или нет.