Ver la Versión Completa : Ejecutar repetidamente un script en TWebBrowser
PacoPepe
22-02-2013, 19:33:35
Quiero obtener información de una página web que dispone de un script en JavaScript
Cargo la página con TWebBrowser, monto la URL correcta y la paso con Navigate. Luego genera una tabla HTML y con una función que he encontrado obtengo la información que contiene
¿Pero como hago para saber cuando ha cargado la página totalmente, para pasarle después la URL? y como vuelvo a cargar la segunda vez la página, ya que la primera lo hago con Show, pero la segunda he probado con Update y Refresh pero no he obtenido nada
Un saludo ^\||/
beginner01
23-02-2013, 01:46:58
Hola.
¿Pero como hago para saber cuando ha cargado la página totalmente, para pasarle después la URL?
Para saberlo usa el evento OnDocumentComplete del TWebBrowser. Referencia. (http://docwiki.embarcadero.com/Libraries/XE2/en/SHDocVw.TWebBrowser.OnDocumentComplete)
y como vuelvo a cargar la segunda vez la página, ya que la primera lo hago con Show, pero la segunda he probado con Update y Refresh pero no he obtenido nada
Esto no me queda muy claro. Revisa los eventos del TWebBrowser ,que seguro encontraras lo que necesitas.
PacoPepe
23-02-2013, 13:51:58
Ya lo he conseguido
La función para leer los datos de la tabla HTML es
ovTable:= WebBrowser1.OleObject.Document.all.tags('TABLE').item(0);
try
if not VarIsNull(ovTable) then begin
for i := 1 to (ovTable.Rows.Length - 1) do
for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do begin
try
Memo1.Lines.Append(ovTable.Rows.Item(i).Cells.Item(j).InnerText);
except end;
end;
end;
except end;
Suponiendo que tenemos WebBrowser1 y añadimos los datos leidos al Memo1.
He añadido control de excepciones por si algo falla que siga a la siguiente.
i empieza en 1 porque en mi caso la tabla tiene cabecera y no la necesito, sino i:= 0
Para esperar a que termine de cargar la página completamente
WebBrowser1.Navigate(URL);
while WebBrowser1.ReadyState < READYSTATE_COMPLETE do
Application.ProcessMessages;
Un saludo a todos
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.