Página 1 de 1

si no abre la WEB que ejecute el archivo (?) :)

Publicado: 01 Abr 2009, 05:55
por iamchavo
hola gente :)
haber si alguien me ayuda.
como seria un scrip para que si por ejempo estoy en http://www.google.com/ y si pasado 5 segundos no cambia a
http://images.google.com.ar/ , que ejecute el archivo < ScreenCapture.au3 >

saludos :)

Re: si no abre la WEB que ejecute el archivo (?) :)

Publicado: 01 Abr 2009, 09:29
por Nahuel
Es una pregunta un tanto extraña y poco elaborada. Este código hace eso, siempre que uses IE. Ejecutalo y se abrirá IE. Cada vez que navegues a www.google.com esperará 5 segundos para ver si cambia a http://images.google.com.ar/. Si no lo hace, captura la pantalla

Código: Seleccionar todo

#include <IE.au3>
#include <ScreenCapture.au3>

$oIE = _IECreate("http://www.google.com/")

$s_Dir = ""

While 1
	Do
		Sleep(500)
		$s_Dir = _IEPropertyGet($oIE,"locationurl")
		ConsoleWrite($s_Dir & @CRLF)
	Until StringRegExp($s_Dir,"http://www.google.com(.*?)")

	$h_Timer = TimerInit()
	ConsoleWrite("+>Se accedió a Google.com. Esperando cambiar a images.google.com" & @CRLF)
	Do
		Sleep(500)
		$s_Dir = _IEPropertyGet($oIE,"locationurl")
		ConsoleWrite($s_Dir & @CRLF)
		If StringRegExp($s_Dir,"http://images.google.com(.*?)") Then 
			ConsoleWrite("!>Se accedió a images.google.com. Cancelando captura."  & @CRLF)
			ContinueLoop 2
		EndIf
	Until TimerDiff($h_Timer)>=5000
	$Ran = Random(1111,9999,1)
	_ScreenCapture_Capture(@DesktopDir & "\Cap_" & $Ran & ".jpg")
	ConsoleWrite("+>Captura realizada. --> " & @DesktopDir & "\Cap_" & $Ran & ".jpg" & @CRLF)
WEnd
Realmente dudo que sea lo que buscás, pero es lo que pedís. Tenés que ser más preciso.

Re: si no abre la WEB que ejecute el archivo (?) :)

Publicado: 05 Abr 2009, 04:29
por emma93
Y así no es mas fácil?

No estoy cuestionando obviamente, ya que mi código podría tener errores.

Código: Seleccionar todo

#include <ScreenCapture.au3>
#include <ie.au3>

While 1
$ie = _IECreate("http://www.google.com.ar")
_Ieloadwait($ie)
_IELoadWaitTimeout(5000)
If @error = 6 Then
	_ScreenCapture_Capture("C:\imagen.jpg")
EndIf
WEnd

Re: si no abre la WEB que ejecute el archivo (?) :)

Publicado: 05 Abr 2009, 20:23
por Nahuel
Pero ese código no hace lo que él pidió. Eso sólo abre Google, espera que cargue y luego no hace nada... _IELoadWaitTimeOut() está mal utilizada, pues está luego de la función _IELoadWait. Si _IELoadWaitTimeOut estuviera antes que _IELoadWait, funcionaría diferente. Capturaría la pantalla en caso de que Google demore más de 5 segundos en cargar.