2013-06-25 2 views
0

Я этот код ...iMacros: Как обрабатывать недостающие элементы/значение для извлечения данных правильно

VERSION BUILD=8032216 
TAB T=1 
SET !REPLAYSPEED FAST 
SET !ERRORIGNORE YES 
SET !LOOP 1 
SET !DATASOURCE_LINE {{!LOOP}} 
SET !EXTRACT_TEST_POPUP NO 
URL GOTO={{URL}} 
TAG POS=1 TYPE=H2 ATTR=* EXTRACT=TXT 
SET !VAR0 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_companyname* EXTRACT=TXT 
SET !VAR1 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:member-address* EXTRACT=TXT 
SET !VAR2 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_contact* EXTRACT=TXT 
SET !VAR3 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_phone* EXTRACT=TXT 
SET !VAR4 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_email* EXTRACT=TXT 
SET !VAR5 {{!EXTRACT}} 
SET !EXTRACT NULL 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_url* EXTRACT=TXT 
SET !VAR6 {{!EXTRACT}} 
SET !EXTRACT NULL 
SET !EXTRACT NULL 
ADD !EXTRACT {{!VAR0}} 
ADD !EXTRACT {{!VAR1}} 
ADD !EXTRACT {{!VAR2}} 
ADD !EXTRACT {{!VAR3}} 
ADD !EXTRACT {{!VAR4}} 
ADD !EXTRACT {{!VAR5}} 
ADD !EXTRACT {{!VAR6}} 
SAVEAS TYPE=EXTRACT FOLDER=* FILE=AdelcookChamber.csv 
SET !EXTRACT NULL 

Когда iMacros не находит/элемент текста/для класса атрибутов на странице дает результат # EANF #. Однако он перемещает мои извлеченные столбцы файла .csv и оставляет # EANF # в конце извлеченных данных, в которых эти элементы находятся на странице, на самом деле они выше данных, которые нужно извлечь на странице, которые не имеют этих элементы/значения.

Я запускаю это в версии браузера iMacros с игровым циклом, установленным в 8. В любом случае, чтобы справиться с этим, не вдаваясь в скрипты? Мне нужно просто отметить # EANF # для значений атрибутов, которые не могут быть найдены на странице. ------------------------------------------------ ----------------------------------------

IceD thanks bro за ответ! Можете ли вы мне помочь, так как я не знаю JavaScript? Как этот код будет выглядеть на моем коде здесь?

Я очистил код, чтобы вы могли видеть, что он все тянет; кроме адресов электронной почты и веб-адресов (адресов), когда он не находит элементы, которые он неправильно помещает в другие строки.

Я играю в цикл 8X (количество записей на странице).

VERSION BUILD=8032216 
TAB T=1 
SET !ERRORIGNORE YES 
SET !REPLAYSPEED FAST 
SET !LOOP 1 
SET !DATASOURCE_LINE {{!LOOP}} 
SET !EXTRACT_TEST_POPUP NO 
FILTER TYPE=IMAGES STATUS=ON 

URL GOTO=http://www.adelcookchamber.org/membership-directory/category/advertising/ 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_companyname EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:member-address EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_contact EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_phone EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_email EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_url EXTRACT=TXT 
TAG POS={{!LOOP}} TYPE=DIV ATTR=CLASS:vs_members_cats EXTRACT=TXT 

Wait SECONDS=2 
SAVEAS TYPE=EXTRACT FOLDER=* FILE=Adelcook_Chamber.csv 

ответ

0

Сделайте это в JavaScript и присвойте извлеченное значение переменной. Используйте iimGetLastExtract() для этой цели. Каждый раз, когда у вас есть значение #EANF#, удалите его или измените его в некотором роде.

+1

IceD check-out мой ответ выше; чуть ниже ------- – user2520517

+0

Поиск по переполнению стека. :) http://stackoverflow.com/questions/14909553/loop-in-imacros-using-javascript – macroscripts