Extract data from an empty cell

Discussions and Tech Support related to website data extraction, screen scraping and data mining using iMacros.
Forum rules
iMacros EOL - Attention!

The renewal maintenance has officially ended for Progress iMacros effective November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.

Thank you again for your business and support.

Sincerely,
The Progress Team

Before asking a question or reporting an issue:
1. Please review the list of FAQ's.
2. Use the search box (at the top of each forum page) to see if a similar problem or question has already been addressed.
3. Try searching the iMacros Wiki - it contains the complete iMacros reference as well as plenty of samples and tutorials.
4. We can respond much faster to your posts if you include the following information: CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST
Post Reply
Lafayette
Posts: 6
Joined: Sun Jun 25, 2017 7:19 am

Extract data from an empty cell

Post by Lafayette » Thu Jul 06, 2017 8:41 pm

Hi,

I am not a professional programmer, but I am doing a small code to extract customer information from a corporate intranet.

For every client there are several orders, but only one will be avaible (DISPONIBLE). When the code finds an avaible order, it goes to delivery note url to extract the lines of the items: date, description and dispatched, and normally there are 4 rows. If the date is empty, dispatched too.

I need that when one row has no date, it skips to the next. With my code, the second open TAB (delivery note) doesn't close when any date is empty and then the extraction stops.

How do I make it jump to the next row to extract data when the date is empty?

Thanks.

Code: Select all

// 1.- Carga de website
var visord1 = "CODE:";
visord1 += "TAB T=1\n";
visord1 += "SET !ERRORIGNORE YES\n";
visord1 += "SET !TIMEOUT_STEP 2\n";
visord1 += "URL GOTO=https://intranet/ma1/jsp/VisorD/visord.jsp\n";

// 2.- Menú "buscar"
var visord2 = "CODE:";
visord2 += "FRAME NAME=\"menu\"\n";
visord2 += "TAG POS=1 TYPE=A ATTR=TXT:Buscar\n";

// 3.- Menú "formulario"
var visord3 = "CODE:";
visord3 += "FRAME NAME=\"Formulario\"\n";
visord3 += "SET !DATASOURCE VISORD_telf_nif.csv\n";
visord3 += "SET !DATASOURCE_COLUMNS 3\n";
visord3 += "SET !DATASOURCE_LINE {{csvline}}\n";
visord3 += "ADD !EXTRACT {{!COL1}}\n";								//Extrae oficina 	Extract 1
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:nif CONTENT={{!COL2}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:telefono CONTENT={{!COL3}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:principal ATTR=NAME:enviarForm\n";

// 4.- Menú "búsqueda"
var visord4 = "CODE:"
visord4 += "FRAME NAME=\"Busqueda\"\n";
visord4 += "SET !TIMEOUT_STEP 2\n";							
visord4 += "TAG POS=1 TYPE=TD ATTR=TXT:{{contador}} EXTRACT=TXT\n"; //Extrae contador   Extract 2
visord3 += "ADD !EXTRACT {{contador}}\n";	
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; 			//Extrae año    	Extract 3
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae central    Extract 4
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae orden    	Extract 5
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae fecha    	Extract 6
visord4 += "TAG POS=R2 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae teléfono  	Extract 7
visord4 += "TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae estado    	Extract 8
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae nif    	Extract 9
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae cliente   	Extract 10

// 5.- Peticion Materiales
var visord5 = "CODE:";
visord5 += "TAB OPEN NEW\n";
visord5 += "TAB T=2\n";
visord5 += "URL GOTO=https://intranet/ma1/servlet/VisorDPeticionMaterialesNewLook?anno={{ano}}&central={{central}}&orden={{orden}}\n";
	visord5 += "TAG POS=2 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n"; 
	visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n"; 
	visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=4 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=6 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=8 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAB T=1\n";
visord5 += "TAB CLOSEALLOTHERS\n";

// 6.- Escritura en fichero.CSV
var visordPRINT  = "CODE:";
visordPRINT += "ADD !EXTRACT {{oficina}}\n";

visordPRINT += "ADD !EXTRACT {{num_order}}\n";
	visordPRINT += "ADD !EXTRACT {{ano}}\n";
	visordPRINT += "ADD !EXTRACT {{central}}\n";
	visordPRINT += "ADD !EXTRACT {{orden}}\n";
	visordPRINT += "ADD !EXTRACT {{fecha}}\n";
	visordPRINT += "ADD !EXTRACT {{telefono}}\n";
	visordPRINT += "ADD !EXTRACT {{estado}}\n";
	visordPRINT += "ADD !EXTRACT {{nif}}\n";
	visordPRINT += "ADD !EXTRACT {{cliente}}\n";
		visordPRINT += "ADD !EXTRACT {{date1}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion1}}\n";
		visordPRINT += "ADD !EXTRACT {{estado1}}\n";
		visordPRINT += "ADD !EXTRACT {{date2}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion2}}\n";
		visordPRINT += "ADD !EXTRACT {{estado2}}\n";
		visordPRINT += "ADD !EXTRACT {{date3}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion3}}\n";
		visordPRINT += "ADD !EXTRACT {{estado3}}\n";
		visordPRINT += "ADD !EXTRACT {{date4}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion4}}\n";
		visordPRINT += "ADD !EXTRACT {{estado4}}\n";
visordPRINT += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=VISORD_o.csv\n";


//#####################################################################
//#####################################################################

// 1.- Carga de website
iimPlay(visord1); 

// 2.- Menú "buscar"		
iimPlay(visord2); 		


var save_csv = new Array();

// 3.- Menú "formulario"
for (var csvline=1;csvline<30;csvline++)
{	
	iimSet("csvline",csvline);
	iimPlay(visord3);
	var oficina= iimGetLastExtract(1);					//alert("oficina: "+oficina);
	save_csv[0] = oficina;

	
// 4.- Menú "búsqueda"
	for (var contador=1;contador<4;contador++)
	{
		iimSet("contador",contador);
		iimPlay(visord4);
		var num_order = iimGetLastExtract(1);			//alert("Nº: "+num_order);
		save_csv[1] = num_order;
		if (num_order == "#EANF#"){ break;}
		var ano = iimGetLastExtract(2);					//alert("ano: "+ano);
		save_csv[2] = ano;
		var central = iimGetLastExtract(3);				//alert("central: "+central);
		save_csv[3] = central;
		var orden = iimGetLastExtract(4);				//alert("orden: "+orden);
		save_csv[4] = orden;
		var fecha = iimGetLastExtract(5);				//alert("fecha: "+fecha);
		save_csv[5] = fecha;
		var telefono = iimGetLastExtract(6);			//alert("telefono: "+telefono);
		save_csv[6] = telefono;
		var estado = iimGetLastExtract(7);				//alert("estado: "+estado);
		save_csv[7] = estado;
		var nif = iimGetLastExtract(8);					//alert("nif: "+nif);
		save_csv[8] = nif;		
		var cliente= iimGetLastExtract(9);				//alert("cliente: "+cliente);	
		save_csv[9] = cliente;
		
// 5.- Peticion Materiales		
		if (estado == "DISPONIBLE")
		{
			iimSet("ano",ano);
			iimSet("central",central);
			iimSet("orden",orden);
			iimPlay(visord5);
			
			var date1= iimGetLastExtract(1);			//alert("F.Entrega: "+date1);
			if (date1 == "#EANF#" || date1 == "__undefined__"){ break;}
						
			save_csv[10] = date1; 
			var descripcion1= iimGetLastExtract(2);		//alert("Descripcion: "+descripcion1);
			save_csv[11] = descripcion1;
			var estado1= iimGetLastExtract(3);			//alert("Estado: "+estado1);
			save_csv[12] = estado1;
			
			var date2= iimGetLastExtract(4);			//alert("F.Entrega: "+date2);
			save_csv[13] = date2;
			var descripcion2= iimGetLastExtract(5);		//alert("Descripcion: "+descripcion2);
			save_csv[14] = descripcion2;
			var estado2= iimGetLastExtract(6);			//alert("Estado: "+estado2);
			save_csv[15] = estado2;
			
			var date3= iimGetLastExtract(7);			//alert("F.Entrega: "+date3);
			save_csv[16] = date3;
			var descripcion3= iimGetLastExtract(8);		//alert("Descripcion: "+descripcion3);
			save_csv[17] = descripcion3;
			var estado3= iimGetLastExtract(9);			//alert("Estado: "+estado3);
			save_csv[18] = estado3;			
			
			var date3= iimGetLastExtract(10);			//alert("F.Entrega: "+date4);
			save_csv[19] = date3;
			var descripcion3= iimGetLastExtract(11);	//alert("Descripcion: "+descripcion4);
			save_csv[20] = descripcion3;
			var estado3= iimGetLastExtract(12);			//alert("Estado: "+estado4);
			save_csv[21] = estado3;			


			iimSet("oficina",save_csv[0]);
				iimSet("num_order",save_csv[1]);
				iimSet("ano",save_csv[2]);
				iimSet("central",save_csv[3]);
				iimSet("orden",save_csv[4]);
				iimSet("fecha",save_csv[5]);
				iimSet("telefono",save_csv[6]);
				iimSet("estado",save_csv[7]);
				iimSet("nif",save_csv[8]);
				iimSet("cliente",save_csv[9]);
					iimSet("date1",save_csv[10]);
					iimSet("descripcion1",save_csv[11]);
					iimSet("estado1",save_csv[12]);	
					iimSet("date2",save_csv[13]);
					iimSet("descripcion2",save_csv[14]);
					iimSet("estado2",save_csv[15]);	
					iimSet("date3",save_csv[16]);
					iimSet("descripcion3",save_csv[17]);
					iimSet("estado3",save_csv[18]);
					iimSet("date4",save_csv[19]);
					iimSet("descripcion4",save_csv[20]);
					iimSet("estado4",save_csv[21]);
					
			iimPlay(visordPRINT);
			save_csv = [];
		}
	}
}
Last edited by Lafayette on Fri Jul 07, 2017 9:56 pm, edited 1 time in total.
chivracq
Posts: 10301
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: Extract data from

Post by chivracq » Thu Jul 06, 2017 11:34 pm

Lafayette wrote:Hi,

I am not a professional programmer, but I am doing a small code to extract customer information from a corporate intranet.

For every client there are several orders, but only one will be avaible (DISPONIBLE). When the code finds an avaible order, it goes to delivery note url to extract the lines of the items: date, description and dispatched, and normally there are 4 rows. If the date is empty, dispatched too.

I need that when one row has no date, it skips to the next. With my code, the second open TAB (delivery note) doesn't close when any date is empty and then the extraction stops.

How do I make it jump to the next row to extract data when the date is empty?

Thanks.

Code: Select all

// 1.- Carga de website
var visord1 = "CODE:";
visord1 += "TAB T=1\n";
visord1 += "SET !ERRORIGNORE YES\n";
visord1 += "SET !TIMEOUT_STEP 2\n";
visord1 += "URL GOTO=https://intranet/ma1/jsp/VisorD/visord.jsp\n";

// 2.- Menú "buscar"
var visord2 = "CODE:";
visord2 += "FRAME NAME=\"menu\"\n";
visord2 += "TAG POS=1 TYPE=A ATTR=TXT:Buscar\n";

// 3.- Menú "formulario"
var visord3 = "CODE:";
visord3 += "FRAME NAME=\"Formulario\"\n";
visord3 += "SET !DATASOURCE VISORD_telf_nif.csv\n";
visord3 += "SET !DATASOURCE_COLUMNS 3\n";
visord3 += "SET !DATASOURCE_LINE {{csvline}}\n";
visord3 += "ADD !EXTRACT {{!COL1}}\n";								//Extrae oficina 	Extract 1
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:nif CONTENT={{!COL2}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:principal ATTR=ID:telefono CONTENT={{!COL3}}\n";
visord3 += "TAG POS=1 TYPE=INPUT:BUTTON FORM=NAME:principal ATTR=NAME:enviarForm\n";

// 4.- Menú "búsqueda"
var visord4 = "CODE:"
visord4 += "FRAME NAME=\"Busqueda\"\n";
visord4 += "SET !TIMEOUT_STEP 2\n";							
visord4 += "TAG POS=1 TYPE=TD ATTR=TXT:{{contador}} EXTRACT=TXT\n"; //Extrae contador   Extract 2
visord3 += "ADD !EXTRACT {{contador}}\n";	
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n"; 			//Extrae año    	Extract 3
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae central    Extract 4
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae orden    	Extract 5
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae fecha    	Extract 6
visord4 += "TAG POS=R2 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae teléfono  	Extract 7
visord4 += "TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae estado    	Extract 8
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae nif    	Extract 9
visord4 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";			//Extrae cliente   	Extract 10

// 5.- Peticion Materiales
var visord5 = "CODE:";
visord5 += "TAB OPEN NEW\n";
visord5 += "TAB T=2\n";
visord5 += "URL GOTO=https://intranet/ma1/servlet/VisorDPeticionMaterialesNewLook?anno={{ano}}&central={{central}}&orden={{orden}}\n";
	visord5 += "TAG POS=2 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n"; 
	visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n"; 
	visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=4 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=6 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=8 TYPE=TD ATTR=TXT:201* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
visord5 += "TAB T=1\n";
visord5 += "TAB CLOSEALLOTHERS\n";

// 6.- Escritura en fichero.CSV
var visordPRINT  = "CODE:";
visordPRINT += "ADD !EXTRACT {{oficina}}\n";

visordPRINT += "ADD !EXTRACT {{num_order}}\n";
	visordPRINT += "ADD !EXTRACT {{ano}}\n";
	visordPRINT += "ADD !EXTRACT {{central}}\n";
	visordPRINT += "ADD !EXTRACT {{orden}}\n";
	visordPRINT += "ADD !EXTRACT {{fecha}}\n";
	visordPRINT += "ADD !EXTRACT {{telefono}}\n";
	visordPRINT += "ADD !EXTRACT {{estado}}\n";
	visordPRINT += "ADD !EXTRACT {{nif}}\n";
	visordPRINT += "ADD !EXTRACT {{cliente}}\n";
		visordPRINT += "ADD !EXTRACT {{date1}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion1}}\n";
		visordPRINT += "ADD !EXTRACT {{estado1}}\n";
		visordPRINT += "ADD !EXTRACT {{date2}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion2}}\n";
		visordPRINT += "ADD !EXTRACT {{estado2}}\n";
		visordPRINT += "ADD !EXTRACT {{date3}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion3}}\n";
		visordPRINT += "ADD !EXTRACT {{estado3}}\n";
		visordPRINT += "ADD !EXTRACT {{date4}}\n";
		visordPRINT += "ADD !EXTRACT {{descripcion4}}\n";
		visordPRINT += "ADD !EXTRACT {{estado4}}\n";
visordPRINT += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=VISORD_o.csv\n";


//#####################################################################
//#####################################################################

// 1.- Carga de website
iimPlay(visord1); 

// 2.- Menú "buscar"		
iimPlay(visord2); 		


var save_csv = new Array();

// 3.- Menú "formulario"
for (var csvline=1;csvline<30;csvline++)
{	
	iimSet("csvline",csvline);
	iimPlay(visord3);
	var oficina= iimGetLastExtract(1);					//alert("oficina: "+oficina);
	save_csv[0] = oficina;

	
// 4.- Menú "búsqueda"
	for (var contador=1;contador<4;contador++)
	{
		iimSet("contador",contador);
		iimPlay(visord4);
		var num_order = iimGetLastExtract(1);			//alert("Nº: "+num_order);
		save_csv[1] = num_order;
		if (num_order == "#EANF#"){ break;}
		var ano = iimGetLastExtract(2);					//alert("ano: "+ano);
		save_csv[2] = ano;
		var central = iimGetLastExtract(3);				//alert("central: "+central);
		save_csv[3] = central;
		var orden = iimGetLastExtract(4);				//alert("orden: "+orden);
		save_csv[4] = orden;
		var fecha = iimGetLastExtract(5);				//alert("fecha: "+fecha);
		save_csv[5] = fecha;
		var telefono = iimGetLastExtract(6);			//alert("telefono: "+telefono);
		save_csv[6] = telefono;
		var estado = iimGetLastExtract(7);				//alert("estado: "+estado);
		save_csv[7] = estado;
		var nif = iimGetLastExtract(8);					//alert("nif: "+nif);
		save_csv[8] = nif;		
		var cliente= iimGetLastExtract(9);				//alert("cliente: "+cliente);	
		save_csv[9] = cliente;
		
// 5.- Peticion Materiales		
		if (estado == "DISPONIBLE")
		{
			iimSet("ano",ano);
			iimSet("central",central);
			iimSet("orden",orden);
			iimPlay(visord5);
			
			var date1= iimGetLastExtract(1);			//alert("F.Entrega: "+date1);
			if (date1 == "#EANF#" || date1 == "__undefined__"){ break;}
						
			save_csv[10] = date1; 
			var descripcion1= iimGetLastExtract(2);		//alert("Descripcion: "+descripcion1);
			save_csv[11] = descripcion1;
			var estado1= iimGetLastExtract(3);			//alert("Estado: "+estado1);
			save_csv[12] = estado1;
			
			var date2= iimGetLastExtract(4);			//alert("F.Entrega: "+date2);
			save_csv[13] = date2;
			var descripcion2= iimGetLastExtract(5);		//alert("Descripcion: "+descripcion2);
			save_csv[14] = descripcion2;
			var estado2= iimGetLastExtract(6);			//alert("Estado: "+estado2);
			save_csv[15] = estado2;
			
			var date3= iimGetLastExtract(7);			//alert("F.Entrega: "+date3);
			save_csv[16] = date3;
			var descripcion3= iimGetLastExtract(8);		//alert("Descripcion: "+descripcion3);
			save_csv[17] = descripcion3;
			var estado3= iimGetLastExtract(9);			//alert("Estado: "+estado3);
			save_csv[18] = estado3;			
			
			var date3= iimGetLastExtract(10);			//alert("F.Entrega: "+date4);
			save_csv[19] = date3;
			var descripcion3= iimGetLastExtract(11);	//alert("Descripcion: "+descripcion4);
			save_csv[20] = descripcion3;
			var estado3= iimGetLastExtract(12);			//alert("Estado: "+estado4);
			save_csv[21] = estado3;			


			iimSet("oficina",save_csv[0]);
				iimSet("num_order",save_csv[1]);
				iimSet("ano",save_csv[2]);
				iimSet("central",save_csv[3]);
				iimSet("orden",save_csv[4]);
				iimSet("fecha",save_csv[5]);
				iimSet("telefono",save_csv[6]);
				iimSet("estado",save_csv[7]);
				iimSet("nif",save_csv[8]);
				iimSet("cliente",save_csv[9]);
					iimSet("date1",save_csv[10]);
					iimSet("descripcion1",save_csv[11]);
					iimSet("estado1",save_csv[12]);	
					iimSet("date2",save_csv[13]);
					iimSet("descripcion2",save_csv[14]);
					iimSet("estado2",save_csv[15]);	
					iimSet("date3",save_csv[16]);
					iimSet("descripcion3",save_csv[17]);
					iimSet("estado3",save_csv[18]);
					iimSet("date4",save_csv[19]);
					iimSet("descripcion4",save_csv[20]);
					iimSet("estado4",save_csv[21]);
					
			iimPlay(visordPRINT);
			save_csv = [];
		}
	}
}
Oh yeah...! :shock: :roll:

1- Thread Title is a bit useless (= non Descriptive), all Threads in this Sub-Forum are about "Extract Data from...", euh..., "from" what...?

2- FCIM...! :mrgreen: (Read my Sig...) You did better on that Item in your previous Thread, otherwise I wouldn't have replied... :idea:

3- You need to follow up on your previous Thread(s) for me to want to help you again...: :idea:
- Re: iimGetLastExtract() doens't work
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE'/'Trial').
- FCI not mentioned: I don't even read the Qt...! (or only to catch Spam!)
- Script & URL help a lot for more "educated" Help...
Lafayette
Posts: 6
Joined: Sun Jun 25, 2017 7:19 am

Re: Extract data from

Post by Lafayette » Fri Jul 07, 2017 9:56 pm

Hi chivracq,

I apologize for the title, I did not realize. The title should have been "Extract data from an empty cell". It was a mistake, because I don't know how :(
chivracq
Posts: 10301
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: Extract data from an empty cell

Post by chivracq » Fri Jul 07, 2017 10:36 pm

Lafayette wrote:Hi chivracq,

I apologize for the title, I did not realize. The title should have been "Extract data from an empty cell". It was a mistake, because I don't know how :(
OK, perfect for Thread Title, that's a bit more Descriptive now indeed...
Perfect as well for the last Update on your previous Thread with the 2 Solutions that you shared...

But you still missed Item_2 about "FCIM" in this Thread... And yep I know you are on iMacros for FF but you need to mention your FCI each time you open a Thread... Especially in this Case about "empty Cell" as the last 2 most used Versions on FF (v8.9.7 and v9.0.3) behave differently for your "empty Cell" which is maybe some HTML Element not always present on the Page... (Big Difference for iMacros between "empty Cell" and "Element not there/found"...)

And hum, you posted some URL but I guess your Intranet is not accessible when I will try to have a look at this Site and at your Script, your Script is pretty long (hum, and I don't do '.js' Scripts myself), so it would be handy if you could be more precise and could precisely indicate which Line/Field/empty Cell you are talking about...
You mentioned it's a "Date" in your OP but it could be a Typo for "Data", and it's always better to put Comments in your Script in English rather than in Spanish or any other Language if you ever need to have sbd else to look at your Script...

But you'll have to mention first your FCI for me to start doing any "Thinking", ah-ah...!

EDIT:
Corrected 2 Typos: "I do '.js' Scripts myself" = "I don't do '.js' Scripts myself" + "if you even need" = "if you ever need"
Last edited by chivracq on Thu Jul 20, 2017 3:13 am, edited 2 times in total.
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE'/'Trial').
- FCI not mentioned: I don't even read the Qt...! (or only to catch Spam!)
- Script & URL help a lot for more "educated" Help...
Lafayette
Posts: 6
Joined: Sun Jun 25, 2017 7:19 am

Re: Extract data from an empty cell

Post by Lafayette » Wed Jul 19, 2017 7:51 pm

Hello,

I have created a loop that every day checks the clients' orders on TAB 1. When the loop found that the order is available (disponible in Spanish), it builds a URL and open a TAB2 where it read the table with items, close TAB 2 and continue checking the next client order.

Image

The problem is this: if any row in TAB 2 is empty, the loop reads and return "#EANF#" or "__undefined__" for every empty cell of the table, but not close the TAB 2 when it finish, then the macro doesn't continue to the next client.

I have tried with "if" in javascript or iMacros "EVAL", but it does not work.

How can I solve that?

Thanks.
Lafayette
Posts: 6
Joined: Sun Jun 25, 2017 7:19 am

Re: Extract data from an empty cell

Post by Lafayette » Thu Jul 20, 2017 11:19 am

I have tried this code with EVAL option, but it doesn't work:

Code: Select all

// 5.- Peticion Materiales
var visord5 = "CODE:";
visord5 += "TAB OPEN NEW\n";
visord5 += "TAB T=2\n";
visord5 += "URL GOTO=https://edomus.tesa/ma1/servlet/VisorDPeticionMaterialesNewLook?anno={{ano}}&central={{central}}&orden={{orden}}\n";

	visord5 += "TAG POS=2 TYPE=TD ATTR=TXT:2* EXTRACT=TXT\n";

[b]	visord5 += "SET !DATE1 EVAL('var date1='{{!EXTRACT}}';if (date1=='#EANF#' || date1 =='__undefined__'){date1='NO FECHA'}')\n";
	visord5 += "ADD !EXTRACT {{!DATE1}}\n";
	visord5 += "PROMPT {{!EXTRACT}}\n";
[/b]
	visord5 += "TAG POS=2 TYPE=TD ATTR=TXT:2* EXTRACT=TXT\n";
	visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
	visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=4 TYPE=TD ATTR=TXT:2* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
		visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=6 TYPE=TD ATTR=TXT:2* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
			visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=8 TYPE=TD ATTR=TXT:2* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\n";
				visord5 += "TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n";
Post Reply