Script en Autoit para capturar el contenido javascript de una web.....!

Iniciado por markus_bitman, 18 Febrero 2010, 03:06 AM

0 Miembros y 2 Visitantes están viendo este tema.

markus_bitman

Hola buenas noches a todos..
Tengo un pequeño problema para capturar el codigo javascript presente en una web en especial. Por ejemplo Google.
Cuando se carga la web de google quisiera capturar el codigo javascript y mostrarlo bien sea con un Msgbox o guardandolo en un txt. Alguien me podria dar una mano por favor?
Estoy utilizando este script:

#include <IE.au3>
$oIE = _IECreate ("www.google.com")   ;abro la pagina
$sHTML = _IEDocReadHTML ($oIE)        ;obtengo todo el codigo HTML de la web en $sHTML
$file = FileOpen("test.txt", 1)                 ; creo un archivo llamado test.txt
FileWrite($file, $sHTML)                         ; Grabo en el archivo todo el codigo contenido en la variable $sHTML
FileClose($file)                                     ; Cierro el archivo

Hasta aqui funciona todo bien ya que obtengo el codigo fuente, pero es posible buscar en el codigo fuente el codigo javascript sin necesidad de guardarlo en un txt y editando instantáneamente la web? No se si me explico bien. Por ejemplo, es posible que al cargar google el script de autoit me detecte si existe un boton llamado buscar y le cambio el nombre a "Enviar solicitud"? Espero haberme explicado bien... Saludos..

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

markus_bitman

#2
Saludos NovLucker.
Mira en verdad no me es de gran ayuda ya que el problema es que en el codigo fuente de la pagina no aparece el codigo javascript. Fijate, quiero capturar o mostrar en un msgbox el codigo javascript contenido la pagina. El problema es que no me captura el codigo javascript. Podrias darme una mano por favor?

Novlucker

Es que no necesitas ver el código, tu ingresas a la web, lees el contenido, clickeas en el anuncio, y listo.

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

markus_bitman

#4
Ese es el gran problema pues te comento que tiene un script que no  se porque razon autoit no me logra detectar el codigo html.  te invito a que hagas la prueba, solo se cargar el frame pero hasta alli funciona todo. Revisalo para que veas, preferiblemente analiza el anuncio con FireBug y veras.....

Chefito

Te dejo un pequeño script que te saca los grupos <script>....</script> de la página de google:
#include <INet.au3>
#include <String.au3>

$codigojava=_INetGetSource('http://www.google.es') ;cojo el código html directamente de la página y lo almaceno en una variable
$array = _StringBetween($codigojava, "<script>","</script>") ;cojo los grupos de string que están entre las etiquetas <scrip>..</script> y los almaceno en un array
for $i = 0 to UBound($array) - 1 ;recorro el array con todos los grupos encontrados en la página.
msgbox(0, "Primer grupo <script>...</script> - " & $i+1, $array[$i])
Next


Otro script que cambia el texto del botón de búsqueda del google:
#include <IE.au3>
$oIE = _IECreate ("www.google.es") ;cargo la página web de google.
$obtnBuscar = _IEGetObjById ($oIE, "btnG") ;obtengo el objeto button (botón) que pone Buscar en google.
$obtnBuscar.value="Enviar solicitud" ;Cambio el valor de Buscar en google.


Saludos.
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

markus_bitman

Muchas Gracias Chefito me es muy pero muy valiosa tu ayuda..... Sabes que? tengo otra duda.. Resulta que yo quiero mostrar un nsgbox que diga "Has pulsado el boton Buscar de Google" cuando pulse el boton, osea, yo ejecuto el scriptque me cargue la web del señor google y que este pendiente cuando yo le de click al boton BUSCAR EN GOOGLE me arroje un mensaje que diga? "Has pulsado el boton" Espero tu ayuda amigo, muchas gracias de antemano........ Se que se puede porque Autoit es muy potente.. La broma es como???????

Chefito

Eso no es muy dificil  ;D.

Aquí te dejo un pequeño código que hace que salte un alert cuando pulsas. Con imaginación y algo de conocimiento del lenguaje se puede hacer de muchas formas e interactuar totalmente con las páginas.

#include <IE.au3>
$oIE = _IECreate ("www.google.es") ;cargo la página web de google.
$obtnBuscar = _IEGetObjById ($oIE, "btnG") ;obtengo el objeto button (botón) que pone Buscar en google.
_IEHeadInsertEventScript ($oIE, "btnG", "onclick", "alert('Has pulsado el botón ""Buscar con google""!!!');") ;inserto en el evento onclick del botón una alerta

Os invito a ir a los foros oficiales de este lenguaje ya que allí encontrareis muchísimos más recursos y ayuda:
www.autoit.es   <<<foro de AutoIt en español.
www.autoitscript.com   <<<página oficial de autoit. Contiene foro de habla inglesa.

Saludos.
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

markus_bitman

Ok muchas gracias por la información, la encuentro muy utili pero estoy haciendo un programa que por ejemplo yo escribo en el Query de Google "Autoit" quisiera que al pulsar el boton de "buscar con Google" me capture la palabra autoit metida en el textbox y me la muestre por un Msgbox mas o menos asi:
$Palabra = "Aqui iria el codigo para capturar el contenido del textbox o algo asi...."
Msgbox(0,"Advertencia", $Palabra)

Podrias decirme si con el método _IEHeadInsertEventScript es posible hacer eso o como podria hacerse porque por lo que veo solamente con este método se puede trabajar con los Alert de javascript.

Saludos...