problema con array

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Avatar de Usuario
Bob314
Mensajes: 6
Registrado: 18 Ago 2008, 21:27

problema con array

Mensaje por Bob314 »

Hola a todos!

Antes de nada gracias a todos los que colaboran con el foro, me has salvado la vida mil y una veces. Dicho esto, tengo un problema con un array, que cuando la envio por un send a un formulario web, se vuelve loco :smt043 y empieza a a abrir pestañas. El texto lo saco de una web y lo divido en secciones con stringsplit, lo que me devuielve un array que no se manejar. Os dejo el codigo (es muy sencillo) a ver si alguien me puede hechar una mano. Muchas gracias de antemano.

Código: Seleccionar todo

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Clipboard.au3>
#include <MsgBoxConstants.au3>
#include <Excel.au3>
#include <String.au3>
#include <IE.au3>
#include <Misc.au3>

Local $idCQS = "KP5WHDQF8-1"
Local $oIE = _IECreate("http://gsit.intranet.gencat.cat/gsitfa/AppJava/front2/search.do?reqCode=front2SearchCreate")
_IELoadWait ($oIE)
WinWaitActive ( "Cercador" )
WinSetState ( "Cercador", "", @SW_MAXIMIZE )
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 3)
_IEFormElementSetValue($oQuery, "KP5WHDQF8-1")
_IEFormSubmit($oForm)
_IELoadWait ($oIE)
_IELinkClickByText($oIE, "Seguiment")
_IELoadWait ($oIE)
WinWaitActive ( "Dades de contacte" )
sleep (2000)
Local $sHTML = _IEBodyReadText($oIE)
$var = StringSplit($sHTML, 'Assumpte:', 1)
$assumpte = StringSplit($var[2], 'Detall:', 1)
$var1 = StringSplit($sHTML, 'Detall:', 1)
$detall = StringSplit($var1[2], 'Dades addicionals:', 1)
$var2 = StringSplit($sHTML, 'Dades addicionals:', 1)
$dades = StringSplit($var2[2], 'Mitjà de resposta preferent:', 1)
MsgBox(4096, "Document Source", "TITULO: " &$assumpte[1] & "DETALLE: " &$detall[1]& "DATOS: " &$dades[1])
ShellExecute ("firefox.exe","http://suport.gencat.cat/framedesk/user/new.asp")
WinWaitActive ( "SUPORT - Nou tiquet" )
sleep (2000)
Send ("{TAB 14}{SPACE}")
Send ("{TAB}Serveis d'atenció - FA_N2 - Frontal Agents - Tractament")
Send ("{TAB}")
sleep (2500)
Send ("{TAB}s")
Send ("{TAB 4}")
Send ("" & $idCQS & " - " & $assumpte[1], 1)
Send ("{TAB}")
Send ("" & $detall[1] & @CRLF & $dades[1], 1)
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: problema con array

Mensaje por Dany »

Hola Bob. Iba a probar to código pero la pagina no me abre.


Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
Bob314
Mensajes: 6
Registrado: 18 Ago 2008, 21:27

Re: problema con array

Mensaje por Bob314 »

Si.... al ser una intranet no podras entrar, es que es un programa para ayudarme en mi trabajo.
El problema es que copio un texto como este (abajo) y lo separo con StringSplit en 3 secciones (=====) que guardo en 3 variables, pero cuando envio estas variables con el comando send, Mozilla me abre varias pestañas y el buscador... es como si ejecutara alguna combinacion de teclas o algo parecido. He provado de poner el parametro 1 al send para que lo pase como texto plano, de convertir las arrays en trings para ver si de esa manera evito las combinaciones y por ultimo he pasado la funcion StringStripCR al texto... todo sin exito.

Código: Seleccionar todo

   beca aca  
=================================================================================================================================

   A l'atenció de la sra. Roser Pinto:
El dia 1 de jun vam demanar la matrícula al Tecnocampus per tal de presentar-la amb la sol"licitud a la beca ACA . No va ser fins el dia 6 per la tarda que no ens la van donar, i per problemes a internet, quan vam poder accedir a la web ja era dia 7! Hem anat a secretariade la Universitat  però ens han dit que hem de fer aquesta sol·licitud per la web.
El curs passat va ser al juliol la presentació de les sol·licituds !
Prego ho tinguin en compte, tenim el carnet de família monoparental número M/08/009504/2014 categoria ESPECIAL
Gràcies per l'atenció 
   Detall:  
   A l'atenció de la sra. Roser Pinto:
El dia 1 de jun vam demanar la matrícula al Tecnocampus per tal de presentar-la amb la sol"licitud a la beca ACA . No va ser fins el dia 6 per la tarda que no ens la van donar, i per problemes a internet, quan vam poder accedir a la web ja era dia 7! Hem anat a secretariade la Universitat  però ens han dit que hem de fer aquesta sol·licitud per la web.
El curs passat va ser al juliol la presentació de les sol·licituds !
Prego ho tinguin en compte, tenim el carnet de família monoparental número M/08/009504/2014 categoria ESPECIAL
Gràcies per l'atenció  

=================================================================================================================================

 Tràmit modalitat: 
 UNI005SOLC 
 Codi d'error: 
 028 
 Motiu: 
 Aquest tràmit està fora de termini.  
 Navegador: 
 Chrome 
 Versió del navegador: 
 51 
 Versió Java: 
 null 
 
 
   Arxiu adjunt:  
   -  
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: problema con array

Mensaje por Dany »

SI me indicas cuales son los datos que quieres capturar. te ayudo a construir un mejor script.


Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
Bob314
Mensajes: 6
Registrado: 18 Ago 2008, 21:27

Re: problema con array

Mensaje por Bob314 »

Buenas !

Aqui te dejo un ejemplo de lo que quiero hacer con paginas a las que si podras acceder. Veras que cuando pasas el array al formulario de google, se habre el buscador de firefox, se ejecuta la busqueda... etc. yo lo que quiero es que se envie solo el texto, sin comandos de teclado ni nada por el estilo.

Muchas gracias por la ayuda y la paciencia.

Código: Seleccionar todo

#include <IE.au3>
#include <MsgBoxConstants.au3>
#include <String.au3>
#include <Array.au3>

Local $oIE = _IECreate("https://www.autoitscript.com/autoit3/docs/functions/Run.htm")
_IELoadWait ($oIE)
WinWaitActive ( "Function Run" )
WinSetState ( "Function Run", "", @SW_MAXIMIZE )
Local $sHTML = _IEBodyReadText($oIE)
$var = StringSplit($sHTML, 'Remarks', 1)
$texto = StringSplit($var[2], 'Related', 1)
ShellExecute ("firefox.exe","https://www.google.es")
WinWaitActive ( "Google" )
Send("" & $texto[1])
;_ArrayDisplay($texto)
Responder