Ver Mensaje Individual
  #5  
Antiguo 12-03-2015
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Reputación: 0
Jovalca Va por buen camino
Ok, se me ocurre así de pronto que quizá cuando lo haces con los botones, el tiempo que transcurre desde que hace login hasta que pulsas el siguiente botón, es suficiente para que la página donde se encuentra el link cargue completamente.

Pero cuando lo haces todo seguido no le das tiempo suficiente para que cargue con lo que creo le es imposible encontrar el item(38).

Has probado a esperar a que la página cargue después del login?

No lo he probado... Pero intenta poner la linea de espera también aqui o retrasar la segunda accion.

Código Delphi [-]
procedure TForm1.Button4Click(Sender: TObject);
Var
   ovElemento: OleVariant;
begin
// Cargo la página en cuestión
   WebBrowser1.Navigate(''direccion pagina web'');

// Espero a que esté totalmente cargada
   while webBrowser1.ReadyState < READYSTATE_INTERACTIVE do  Application.ProcessMessages;

// Doy valores a los elementos CONOCIDOS que me interesan
   ovElemento := WebBrowser1.OleObject.Document.forms.item(0).elements;

   ovElemento.item(1).value:='usuario';        // Escribe en la página el usuario
   ovElemento.item(2).value:='contraseña';  // Escribe en la página la password
   ovElemento.item(3).click;                      // Mandamos al servidor la información

   while webBrowser1.ReadyState < READYSTATE_INTERACTIVE do  Application.ProcessMessages;

   ovElemento:= WebBrowser1.OleObject.Document.links;
   ovElemento.item(38).click;  // ********** AQUI FALLA ***************

   ovElemento := WebBrowser1.OleObject.Document.forms.item(1).elements;

   ovElemento.item(2).value := 'Texto a enviar'';  // Pongo el texto que necesito en un TextArea
   ovElemento.item(5).click;                             // Hago el Submit

end;

Ya me diras si era eso.
Saludos.
Responder Con Cita