Generar un registro de conexiones con _IECreate
Generar un registro de conexiones con _IECreate
Sres.,
Soy nuevo ocupando esta maravollosa herramienta y de ehcho lo primero que me encomendaron es algo sencillo, generar la revision de paginas web de forma permanente....
Asi:
; --- google ---
$oIE = _IECreate ("http://www.google.com/")
Sleep(5000)
send("!{F4}")
; --- emol ---
$oIE = _IECreate ("http://www.emol.com/")
Sleep(5000)
send("!{F4}")
........ y asi varias mas
Pero lo que necesito realmente es poder generar algun tipo de registro con el historial de conexiones y si en algun momento en alguna de ellas no fue posible conectarse......
Espero me puedan apoyar o dar algun tips para resolver este desafio...muchas gracias.
Soy nuevo ocupando esta maravollosa herramienta y de ehcho lo primero que me encomendaron es algo sencillo, generar la revision de paginas web de forma permanente....
Asi:
; --- google ---
$oIE = _IECreate ("http://www.google.com/")
Sleep(5000)
send("!{F4}")
; --- emol ---
$oIE = _IECreate ("http://www.emol.com/")
Sleep(5000)
send("!{F4}")
........ y asi varias mas
Pero lo que necesito realmente es poder generar algun tipo de registro con el historial de conexiones y si en algun momento en alguna de ellas no fue posible conectarse......
Espero me puedan apoyar o dar algun tips para resolver este desafio...muchas gracias.
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Generar un registro de conexiones con _IECreate
Hola,
solo tienes que hacer un if sobre el error de _IEcreate()
Aquí los códigos de error de este:
En una sola linea el código sería:
pero si quieres determinar el error:
Lo puedes añadir al log.
Luego hay una función que te sirve para crear el log desde un string que le envies y un nombre de archivo destino es _FileWriteLog()
Salu22:)
solo tienes que hacer un if sobre el error de _IEcreate()
Aquí los códigos de error de este:
En una sola linea el código sería:
Código: Seleccionar todo
If not @Error=0 the _FileWriteLog()
Código: Seleccionar todo
@Error: 0 ($_IEStatus_Success) = No Error
1 ($_IEStatus_GeneralError) = General Error
3 ($_IEStatus_InvalidDataType) = Invalid Data Type
4 ($_IEStatus_InvalidObjectType) = Invalid Object Type
6 ($_IEStatus_LoadWaitTimeout) = Load Wait Timeout
8 ($_IEStatus_AccessIsDenied) = Access Is Denied
9 ($_IEStatus_ClientDisconnected) = Client Disconnected
Luego hay una función que te sirve para crear el log desde un string que le envies y un nombre de archivo destino es _FileWriteLog()
Salu22:)
Re: Generar un registro de conexiones con _IECreate
Estimado, muchas gracias por tu respuesta....segui los pasos de acuerdo a tus instrucciones pero la verdad es que no me es posible generar notificaciones sobre el proceso de revision de urls.......l codigo quedo asi, quizas no este correcto.....por favor tus comentarios y gracias nuevamente....
#include <Servicios Pruebas.au3>
;$sum = 0
While 1 ;use infinite loop since ExitLoop will get called
; --- google ---
$oIE = _IECreate ("http://www.google.com/")
Sleep(5000)
send("!{F4}")
; --- sii ---
$oIE = _IECreate ("http://www.sii.cl/")
Sleep(5000)
send("!{F4}")
; --- Notificación ---
; Error=0($_IEStatus_Success) = No Error
; Error=9($_IEStatus_ClientDisconnected) = Client Disconnected
If not
@Error=0 _FileWriteLog ("D:\Aplic\Autoit\logit.txt")
@Error=9 _FileWriteLog ("D:\Aplic\Autoit\logit.txt")
WEnd
#include <Servicios Pruebas.au3>
;$sum = 0
While 1 ;use infinite loop since ExitLoop will get called
; --- google ---
$oIE = _IECreate ("http://www.google.com/")
Sleep(5000)
send("!{F4}")
; --- sii ---
$oIE = _IECreate ("http://www.sii.cl/")
Sleep(5000)
send("!{F4}")
; --- Notificación ---
; Error=0($_IEStatus_Success) = No Error
; Error=9($_IEStatus_ClientDisconnected) = Client Disconnected
If not
@Error=0 _FileWriteLog ("D:\Aplic\Autoit\logit.txt")
@Error=9 _FileWriteLog ("D:\Aplic\Autoit\logit.txt")
WEnd
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Generar un registro de conexiones con _IECreate
yo crearía un función ya que el @Error tienes que probarlo despues de cada intento de apertura de página y no al final.clopezp escribió:-
Puedes mirar la sintaxis de If then Endif en la ayuda:
Código: Seleccionar todo
If not @Error=0 then _FileWriteLog ("D:\Aplic\Autoit\logit.txt")
Si no quieres usar el For Next, puedes usar simplemente una lista deDim $numpaginas
$numdepaginas=StringSplit("www.quepaginacompruebo.com,otra.com,mas.com")
For $i=1 to $numdepaginas[0]
AbrirPáginayComprobar($numdepaginas[$i])
sleep(60000) ; cada 60 segundos
Next
; funciones
Func AbrirPáginayComprobar($quepaginacompruebo)
$oIE = _IECreate ($quepaginacompruebo)
Sleep(5000)
send("!{F4}")
If not @Error=0 then _FileWriteLog ("D:\Aplic\Autoit\logit.txt") ; Comprueba la sintaxis de _FileWriteLog() ya que los parámetros no son correctos, en la ayuda, le envias $quepaginacompruebo
EndFunc
AbrirPáginayComprobar("cadapagina.com")
AbrirPáginayComprobar("cadapagina.com")
AbrirPáginayComprobar("cadapagina.com")
Salu22:)
Editado General.
Re: Generar un registro de conexiones con _IECreate
Genere una funcion de acuerdo a tus indicaciones, pero tengo una duda con respecto a "AbrirPáginayComprobar" lo cual lo genere con un "_ArrayToString" pero al parecer no es la funcion correcta....
Estoy probando solo para abrir dos paginas, mira:
#include <Servicios Pruebas.au3>
Dim $numpaginas = 2
$numpaginas = StringSplit("http://www.google.com,http://www.sii.cl")
For $i=1 To $numpaginas [2]
_ArrayToString($2[$i])
Sleep(5000)
Next
; funciones
Func _ArrayToString($"http://www.google.com")
$oIE = _IECreate ("http://www.google.com")
Sleep(5000)
send("!{F4}")
if Not @Error=0 then _FileWriteLog (@ScriptDir & "D:\Aplic\Autoit\logit.Log", "pagina ok")
$"http://www.google.com"
EndFunc
; la otra pagina
For $i=1 To $paginas [2]
_ArrayToString($"http://www.sii.cl"[$i])
Sleep(5000)
;send("!{F4}")
Next
; funciones
Func _ArrayToString($"http://www.sii.cl")
$oIE = _IECreate ("http://www.sii.cl")
Sleep(5000)
send("!{F4}")
if Not @Error=0 then _FileWriteLog (@ScriptDir & "D:\Aplic\Autoit\logit.Log", "pagina ok")
$"http://www.sii.cl"
EndFunc
Quedo atento a tus comentarios ... muchas gracias.
Estoy probando solo para abrir dos paginas, mira:
#include <Servicios Pruebas.au3>
Dim $numpaginas = 2
$numpaginas = StringSplit("http://www.google.com,http://www.sii.cl")
For $i=1 To $numpaginas [2]
_ArrayToString($2[$i])
Sleep(5000)
Next
; funciones
Func _ArrayToString($"http://www.google.com")
$oIE = _IECreate ("http://www.google.com")
Sleep(5000)
send("!{F4}")
if Not @Error=0 then _FileWriteLog (@ScriptDir & "D:\Aplic\Autoit\logit.Log", "pagina ok")
$"http://www.google.com"
EndFunc
; la otra pagina
For $i=1 To $paginas [2]
_ArrayToString($"http://www.sii.cl"[$i])
Sleep(5000)
;send("!{F4}")
Next
; funciones
Func _ArrayToString($"http://www.sii.cl")
$oIE = _IECreate ("http://www.sii.cl")
Sleep(5000)
send("!{F4}")
if Not @Error=0 then _FileWriteLog (@ScriptDir & "D:\Aplic\Autoit\logit.Log", "pagina ok")
$"http://www.sii.cl"
EndFunc
Quedo atento a tus comentarios ... muchas gracias.
- BasicOs
- Site Admin
- Mensajes: 2091
- Registrado: 21 Nov 2006, 19:24
- Ubicación: El Internet - (Canarias, España)
- Contactar:
Re: Generar un registro de conexiones con _IECreate
Creo que debes repasar
el concepto de función,
el de nomenclatura de variables y tipos de variables,
el de uso de variables locales y globales y/o en funciones, está en la ayuda en español, y en unos minutos lo entenderás facilmente.
Lo del For Next lo puedes usar si son muchas páginas y para que se quede el código más limpio guardando todas las páginas en una variable inicial al principio. Sin usar For Next que es igual que usandolo al final:
Salu22:)
el concepto de función,
el de nomenclatura de variables y tipos de variables,
el de uso de variables locales y globales y/o en funciones, está en la ayuda en español, y en unos minutos lo entenderás facilmente.
Lo del For Next lo puedes usar si son muchas páginas y para que se quede el código más limpio guardando todas las páginas en una variable inicial al principio. Sin usar For Next que es igual que usandolo al final:
Código: Seleccionar todo
AbrirPáginayComprobar("cadapagina1.com")
AbrirPáginayComprobar("cadapagina2.com")
AbrirPáginayComprobar("cadapagina3.com")
; funciones
Func AbrirPáginayComprobar($quepaginacompruebo)
$oIE = _IECreate ($quepaginacompruebo)
Sleep(5000)
send("!{F4}")
if Not @Error=0 then _FileWriteLog (@ScriptDir & "D:\Aplic\Autoit\logit.Log", "pagina ok")
EndFunc