Extract data from an empty cell

Discussions and Tech Support related to website data extraction, screen scraping and data mining using iMacros.

Moderators: Community Moderators, iMacros Moderators

Forum rules
Before asking a question or reporting an issue:
1. Please review the list of FAQ's.
2. Use the Google search box (at the top of each forum page) to see if a similar problem or question has already been addressed. This will search the entire contents of the forums as well as the iMacros Wiki.
3. We can respond much faster to your posts if you include the following information:

CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST

Answering your own posts (e.g. attempting to "bump" your topic) drops your topic from the list of unanswered threads, so it may actually receive less views.

Extract data from an empty cell

by Lafayette on Thu Jul 06, 2017 1: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 2:56 pm, edited 1 time in total.
Lafayette
 
Posts: 6
Joined: Sun Jun 25, 2017 12:19 am

Re: Extract data from

by chivracq on Thu Jul 06, 2017 4: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)CIM = (Full) Config Info Missing: iMacros + Browser + OS with all 3 Versions...
- I usually don't even read the Question if that (required) Info is not mentioned...
- Script & URL usually help a lot for a more "educated" Help...
chivracq
 
Posts: 6484
Joined: Sat Apr 13, 2013 6:07 am
Location: Amsterdam (NL)

Re: Extract data from

by Lafayette on Fri Jul 07, 2017 2: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 :(
Lafayette
 
Posts: 6
Joined: Sun Jun 25, 2017 12:19 am

Re: Extract data from an empty cell

by chivracq on Fri Jul 07, 2017 3: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 Wed Jul 19, 2017 8:13 pm, edited 2 times in total.
- (F)CIM = (Full) Config Info Missing: iMacros + Browser + OS with all 3 Versions...
- I usually don't even read the Question if that (required) Info is not mentioned...
- Script & URL usually help a lot for a more "educated" Help...
chivracq
 
Posts: 6484
Joined: Sat Apr 13, 2013 6:07 am
Location: Amsterdam (NL)

Re: Extract data from an empty cell

by Lafayette on Wed Jul 19, 2017 12: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 12:19 am

Re: Extract data from an empty cell

by Lafayette on Thu Jul 20, 2017 4: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";
Lafayette
 
Posts: 6
Joined: Sun Jun 25, 2017 12:19 am


Return to Data Extraction and Web Screen Scraping

Who is online

Users browsing this forum: Yahoo [Bot] and 3 guests

-->