Página 1 de 1

Imagesearch como hacer que siga buscando

Publicado: 13 Oct 2013, 15:59
por mendrugo
Hola soy nuevo en esto de autoit y espero no haverme equibocado de seccion ;)
Bueno al tema jejeje
Quiero cojer base para hacer un bot para una pagina y me e imaginado que haciendo instalacion desatendida cojeria algo de base.... miren el codigo :

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

Run ("SetupVirtualCloneDrive5460.exe")
WinWaitActive("VirtualCloneDrive Setup: Acuerdo de licencia", "Aceptar")
Send ("{ENTER}")
WinWaitActive("VirtualCloneDrive Setup: Opciones de instalación", "Siguiente >")
Send ("{ENTER}")
WinWaitActive("VirtualCloneDrive Setup: Directorio de instalación", "Instalar")
Send ("{ENTER}")
WinWaitActive("VirtualCloneDrive Setup: Finalizado", "Cerrar")
Send ("{ENTER}")
Es bastante simple pero ahora que ya e entendido como se hace con teclas me gustaria hacer lo mismo pero con el raton e leido esto http://www.autoitscript.com/autoit3/doc ... lClick.htm
Y no lo entiendo como se hace e utilizado tambien el Au3Record y me da error al ejecutar el script o simplemente no clika donde yo le di.... nose a que se debe..
miren lo que puse

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

Run ("SetupVirtualCloneDrive5460.exe")
MouseClick("left",315,266,1)
Y me clika en una zona de la pantalla donde no le di... nose porque pasa esto... la verdad solo con entenderlo 1 vez ya me vale me da iwal si utilizo este ejemplo o cualquier otro quiero cojer la base para cuando tenga que clikar en zonas del navegador ;)
Gracias de antemanos ^^ :smt004

Re: clik izquiero en instalacion de programa

Publicado: 13 Oct 2013, 17:32
por Dany
Mejor usa ControlClick.

saludos

Re: clik izquiero en instalacion de programa

Publicado: 13 Oct 2013, 23:34
por mendrugo
jejeje lo probare...me podrias decie la diferencia entre mouseclick y controlclick?
:smt030

Re: clik izquiero en instalacion de programa

Publicado: 14 Oct 2013, 00:21
por Dany
Mouseclick mueve el raton. controlclick le envia un click internamente sin necesidad de mover el ratón.

:smt027


saludos

Re: clik izquiero en instalacion de programa

Publicado: 14 Oct 2013, 13:42
por mendrugo
Dany escribió:Mouseclick mueve el raton. controlclick le envia un click internamente sin necesidad de mover el ratón.

:smt027


saludos
nose si lo e entendido bien quieres decir que si lo hago con mouseclick mientras este el script no podre hacer nada y en cambio si o ago con controlclick podre dedicarme a otras cosas mientras?........ mira como ba ;)

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:JoMuCa

 Script Function:
	Bot adf.ly 0.1
Tarea de mañana:terminar de configurar
#ce ----------------------------------------------------------------------------


#include <ImageSearch.au3>
#include <GDIPlus.au3>
;-------------------------Introduce la url----------------------------------
$fileA = @ScriptDir & "\imagenes\link.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
    Send ("{DELETE}") ;Borra lo que hay en la barra de url
	Send("http://adf.ly/X2M3S") ;Aqui Pones Tu Link de Adf.ly
	Send("{ENTER}") ;Te envia a la pagina de arriva
EndIf

;-----------------------Se detiene X tiempo-----------------------
Sleep(50000) ;Tiempo en milisegundos 50000=50 segundos 15000=15 segundos carga de adf.ly
;----------------------------Clicka en el boton de la publicidad--------------------------
$fileA = @ScriptDir & "\imagenes\BotonPubli.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0) ;
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left")

EndIf
;-------------------------Se para X tiempo-------------------------------
Sleep(50000) ;Tiempo en milisegundos 50000=50 segundos 15000=15 segundos carga de adf.ly
;------------------Clicka icono de la barra de tareas--------------------------------------
$fileA = @ScriptDir & "\imagenes\BotonAbajo.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("right") ;Clika con boton derecho
EndIf
;------------------------------------------------------------------------NUEVA IDENTIDAD----------------------
$fileA = @ScriptDir & "\imagenes\NuevaIdentidad.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clika con boton izquierdo
EndIf
_GDIPlus_ImageDispose($hImageA)
_GDIPlus_Shutdown()
Nose lo que pasa en la ultima busqueda de imagenes que enteoria la tendria que encontrar pero no hace click en ella. ;)
ayudame porfa jeje

Re: clik izquiero en instalacion de programa

Publicado: 14 Oct 2013, 15:21
por Dany
Para automatizar esto(paignas) podrías usar _IE funciones. Así no puedes hacer otra cosa mientras trabaja el programa.

saludos :smt027

Re: clik izquiero en instalacion de programa

Publicado: 14 Oct 2013, 19:13
por mendrugo
pero necesito usar un navegador llamado tor que es similar a firefox nose si lo conoceras jejeje ;) gracias
Porcierto mira como a quedado el codigo

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:JoMuCa

 Script Function:
	Bot adf.ly 0.1

#ce ----------------------------------------------------------------------------


#include <ImageSearch.au3>
#include <GDIPlus.au3>

While 1
;-------------------------Introduce la url----------------------------------
$fileA = @ScriptDir & "\imagenes\link.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
    Send ("{DELETE}") ;Borra lo que hay en la barra de url
	Send("http://adf.ly/X2M3S") ;Aqui Pones Tu Link de Adf.ly
	Send("{ENTER}") ;Te envia a la pagina de arriva
EndIf

;-----------------------Se detiene X tiempo-----------------------
Sleep(30000) ;Tiempo en milisegundos 50000=50 segundos 15000=15 segundos carga de adf.ly
;----------------------------Clicka en el boton de la publicidad--------------------------
$fileA = @ScriptDir & "\imagenes\BotonPubli.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0) ;
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left")

EndIf
;-------------------------Se para X tiempo-------------------------------
Sleep(30000) ;Tiempo en milisegundos 50000=50 segundos 15000=15 segundos carga de adf.ly
;------------------Clicka icono de la barra de tareas--------------------------------------
$fileA = @ScriptDir & "\imagenes\NuevaOpcion.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("right") ;Clika con boton derecho
EndIf
;------------------------------------------------------------------------NUEVA IDENTIDAD----------------------
$fileA = @ScriptDir & "\imagenes\juas.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clika con boton izquierdo
EndIf

_GDIPlus_ImageDispose($hImageA)
_GDIPlus_Shutdown()
WEnd
jejejje consegui ponerle el bucle pero tengo un problema mas jejeje echale un vistazo si tienes tiempo.. cres que _IE funciones, funcionara con tor?
Porcierto mira aver si me puedes iluastrar en esta duda:resulta que este script se espera y busca una imagen.. pero si no la encuentra sige como si nada a buscar la siguiente imagen y lo que quiero es que cuando no la encuentre que la sige buscando hasta que la encuentre y prosiga con la orden... es un fallo muy grande que tengo que arreglar ya que conque solo falle una vez ya se jod* jejejje que alguien me ilustre ;)
gracias :smt035

Re: Imagesearch como hacer que siga buscando

Publicado: 14 Oct 2013, 20:44
por Dany
Podrías hacer algo así:

Código: Seleccionar todo

local $result=0
while true
	$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0) ;
	if $result>0 Then
	MouseMove($x, $y)
	MouseClick("left")
	ExitLoop
	endif
	sleep(300)
WEnd
no con IE no puedes trabajar con tor.

saludos

Re: Imagesearch como hacer que siga buscando

Publicado: 14 Oct 2013, 21:20
por mendrugo
Dany escribió:Podrías hacer algo así:

Código: Seleccionar todo

local $result=0
while true
	$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0) ;
	if $result>0 Then
	MouseMove($x, $y)
	MouseClick("left")
	ExitLoop
	endif
	sleep(300)
WEnd
no con IE no puedes trabajar con tor.

saludos
jejejje gracias pero me pierdo creii que era cuando el resultado sea 0 que vuelba a escanear asta que el resultado sea 1 y haga la accion analizare a fondo ese codigo aver que saco ;)
Gracias
La verdad me vendria bien que me hicieras un ejemplo y yo lo mire con tranquilidad porque en ese codigo no pone la ruta de la imagen y no entiendo....
llevo 2 dias gustos con autoit.
:) Saludos

Re: Imagesearch como hacer que siga buscando

Publicado: 14 Oct 2013, 21:57
por Dany
ahí esta solo colócalo con la imagen que necesitas que haga eso.

saludos

Re: Imagesearch como hacer que siga buscando

Publicado: 15 Oct 2013, 13:38
por mendrugo
Dany escribió:ahí esta solo colócalo con la imagen que necesitas que haga eso.

saludos
Gracias ya lo consegui mira

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:JoMuCa

 Script Function:
	Bot adf.ly 0.1
Tarea de mañana:Arreglar fallos
#ce ----------------------------------------------------------------------------

#include <ImageSearch.au3>
#include <GDIPlus.au3>
While 2

While 1
;-------------------------Introduce la url----------------------------------
$fileA = @ScriptDir & "\imagenes\link.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
    Send ("{DELETE}") ;Borra lo que hay en la barra de url
	Send("http://adf.ly/X2M3S") ;Aqui Pones Tu Link de Adf.ly
	Send("{ENTER}") ;Te envia a la pagina de arriva
	ExitLoop
	EndIf
	sleep(300)
WEnd
;------------------------------------Boton publicidad----------------------------------------------
While 1

$fileA = @ScriptDir & "\imagenes\BotonPubli.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
	ExitLoop
	EndIf
	sleep(300)
WEnd
;-----------------------------------Abandonar pagina "Opcional"----------------------------------------
$fileA = @ScriptDir & "\imagenes\Abandona.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	MouseClick("left") ;Clika con boton izquierdo
EndIf
;-----------------------------Boton cebollita xD---------------------------------------------
While 1
$fileA = @ScriptDir & "\imagenes\Cebolla.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	Sleep(30000)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
	Send("{DOWN}")
	Send("{ENTER}")
	ExitLoop
	EndIf
	sleep(300)
WEnd
Sleep(5000)
WEnd
Ahora tengo otro problema mira este codigo

Código: Seleccionar todo

While 1
$fileA = @ScriptDir & "\imagenes\Cebolla.bmp"

_GDIPlus_Startup()

$hImageA =_GDIPlus_ImageLoadFromFile($fileA)
$hBitmapA = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImageA)

$x = 0
$y = 0

$result = _ImageSearch($hBitmapA, 1, $x, $y, 20, 0)
If $result > 0 Then
	MouseMove($x, $y)
	Sleep(30000)
	MouseClick("left") ;Clicka con el boton izquierdo 1 vez
	Send("{DOWN}")
	Send("{ENTER}")
	ExitLoop
	EndIf
	sleep(300)
WEnd
Necesito que aga esto cuando no se encuentre una imagen en la pantalla... Pero todo cuando no se encuentre la imagen en la pàntalla que busque la cebolla.bmp y aga eso....
Alguna idea?
Gracias