Luis Alberto Turbi Mella
2012-11-07 21:48:22 UTC
Saludos colegas:
Estoy rellenando informacion de login en una web, luego hago click en link y paso ana pagina donde digito un rango de fecha y esta me despleiga una tabla de varias columnas,
con nombre de archivos para descargar, hasta ese punto voy bien.
El problema es que no puedo hacer referencia a esa tabla por codigo, para hacer un una especie de "SCAN / EndScan" e ir descargando los archivos.
Los script de la pagina lo maneja javascript. He utilizado tanto el control ActiveX browser como el objeto COM InternetExplorer.application, pero no he podido avanzar o hacer el bucle recorreindo la tabla html.
Cuando el usuario hace click en la celda del nombre del archivo, llama el motodo download pasando como parametro el IDCliente y el nombre del archivo contenido en esa celda.
Espero cualquier ayuda. copio el codigo para referencia:
Atte,
Luis Alberto Turbi Republica Dominicana
Private nForma
nForma = 0
Release oExplorer
If Type("oExplorer") # 'O'
Public oExplorer As InternetExplorer.Application
oExplorer=Createobject("InternetExplorer.Application")
oExplorer.navigate2("https://Mipagina.com/")
ObjTexto ='Cargando.'
Do While oExplorer.busy
Wait Window ObjTexto Time(0.1)
ObjTexto= ObjTexto+'.'
Enddo
Endif
Set Step On
cDia = Padl(Alltrim(Str(Day(Date()))),2,"0")
cMes = Padl(Alltrim(Str(Month(Date()))),2,"0")
cAno = Alltrim(Str(Year(Date())))
cFecha = cMes+"/"+cDia+"/"+cAno
oExplorer.Visible =.T.
*oExplorer.Path = fullpath(CURDIR())
oExplorer.FullScreen
oExplorer.Document.Forms(nForma).Userid.Value="USUARIO"
oExplorer.Document.Forms(nForma).Password.Value="PassWord"
oExplorer.Document.Forms(nForma).ClientID.Value="IDCliente"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
oExplorer.Document.Forms(nForma).action = "ActiveFilesQuery.jsp"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
oExplorer.Document.Forms(nForma).FromDate.Value = cFecha
oExplorer.Document.Forms(nForma).ToDate.Value = cFecha
* oExplorer.document.forms(nForma).Location.value = "c:\work"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
*!* Store "" To cColeccion
*!* For Each loLink In oExplorer.Document.Tables
*!* cColeccion = cColeccion + loLink.Table
*!* Endfo
oExplorer.Document.Forms(nForma).DwldClientID.Value = 'ClienteID'
oExplorer.Document.Forms(nForma).DwldFileName.Value = 'Archivo.txt'
*oExplorer.Document.Forms(nForma).Download('ClienteID','ArchivoTXT')
oExplorer.Document.Forms(nForma).action = "/tally/DownloadFile.do"
oExplorer.Document.Forms(nForma).submit()
Set Step On
* =Salir()
***********************
Procedure Enviando_Wait
***********************
texto ='Enviando.'
Do While oExplorer.busy
Wait Window texto Time(0.1)
texto= texto + '.'
Enddo
Endproc
********************
Procedure salir
******************
oExplorer.Document.Forms(nForma).action = "/tally/Logout.do"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
Release oExplorer
Return
Estoy rellenando informacion de login en una web, luego hago click en link y paso ana pagina donde digito un rango de fecha y esta me despleiga una tabla de varias columnas,
con nombre de archivos para descargar, hasta ese punto voy bien.
El problema es que no puedo hacer referencia a esa tabla por codigo, para hacer un una especie de "SCAN / EndScan" e ir descargando los archivos.
Los script de la pagina lo maneja javascript. He utilizado tanto el control ActiveX browser como el objeto COM InternetExplorer.application, pero no he podido avanzar o hacer el bucle recorreindo la tabla html.
Cuando el usuario hace click en la celda del nombre del archivo, llama el motodo download pasando como parametro el IDCliente y el nombre del archivo contenido en esa celda.
Espero cualquier ayuda. copio el codigo para referencia:
Atte,
Luis Alberto Turbi Republica Dominicana
Private nForma
nForma = 0
Release oExplorer
If Type("oExplorer") # 'O'
Public oExplorer As InternetExplorer.Application
oExplorer=Createobject("InternetExplorer.Application")
oExplorer.navigate2("https://Mipagina.com/")
ObjTexto ='Cargando.'
Do While oExplorer.busy
Wait Window ObjTexto Time(0.1)
ObjTexto= ObjTexto+'.'
Enddo
Endif
Set Step On
cDia = Padl(Alltrim(Str(Day(Date()))),2,"0")
cMes = Padl(Alltrim(Str(Month(Date()))),2,"0")
cAno = Alltrim(Str(Year(Date())))
cFecha = cMes+"/"+cDia+"/"+cAno
oExplorer.Visible =.T.
*oExplorer.Path = fullpath(CURDIR())
oExplorer.FullScreen
oExplorer.Document.Forms(nForma).Userid.Value="USUARIO"
oExplorer.Document.Forms(nForma).Password.Value="PassWord"
oExplorer.Document.Forms(nForma).ClientID.Value="IDCliente"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
oExplorer.Document.Forms(nForma).action = "ActiveFilesQuery.jsp"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
oExplorer.Document.Forms(nForma).FromDate.Value = cFecha
oExplorer.Document.Forms(nForma).ToDate.Value = cFecha
* oExplorer.document.forms(nForma).Location.value = "c:\work"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
*!* Store "" To cColeccion
*!* For Each loLink In oExplorer.Document.Tables
*!* cColeccion = cColeccion + loLink.Table
*!* Endfo
oExplorer.Document.Forms(nForma).DwldClientID.Value = 'ClienteID'
oExplorer.Document.Forms(nForma).DwldFileName.Value = 'Archivo.txt'
*oExplorer.Document.Forms(nForma).Download('ClienteID','ArchivoTXT')
oExplorer.Document.Forms(nForma).action = "/tally/DownloadFile.do"
oExplorer.Document.Forms(nForma).submit()
Set Step On
* =Salir()
***********************
Procedure Enviando_Wait
***********************
texto ='Enviando.'
Do While oExplorer.busy
Wait Window texto Time(0.1)
texto= texto + '.'
Enddo
Endproc
********************
Procedure salir
******************
oExplorer.Document.Forms(nForma).action = "/tally/Logout.do"
oExplorer.Document.Forms(nForma).submit()
Enviando_Wait()
Release oExplorer
Return