Cómo extraer datos de tablas de páginas web iframe
Cómo extraer los datos de la tabla (tabla) contenidos en la página web iframe (HTML)
Quiero extraer los datos de la tabla (etiquetas de tabla) en la página web, porque la sesión es el original, así que lo uso, pero algunas de las páginas web están incluidas en iframes, así que encontré un código de nivel superior en el foro (consulte el código 1) y usé FrameWin.document.body.outerHTML para obtener el código fuente. pero el problema es que quiero obtener el formulario. Los datos parecen no ser FrameWin.document.all.outsideHTML. document.body.outerHTML obtuvo el código fuente, pero el problema es que quiero obtener los datos de la tabla. Parece que no hay ningún FrameWin.document.all.tags('table').item(0). tabla externalHTML, pero WebBrowser sí. WebBrowser lo hace. Como se muestra en el código de referencia 2, debido a que la tabla extraída de la página web se asigna a través del javascript de otra página web iframe de nivel, los datos no se pueden analizar directamente con una cadena a través de FrameWin.document.body.outerHTML, y los datos obtenidos de esta manera quedarán todos los espacios.
¿Cuál es el mejor enfoque? Código de referencia uno: ?usrmshtml; procedimientoTMainForm.ToolButton56Click(Sender:TObject); var Index:?IHTMLDocument2; Documento .frames.length>0 luego comience forIndex:=0toDocument.frames.begin FrameIdx:=Index; FrameDis:=Document.frames.item(FrameIdx); ifFrameDis.QueryInterface( IHTMLWindow2,FrameWin)<>0thenExit; body.outerHTML); //FrameWin.document es el documento requerido para cada Frameend; fin; código de referencia dos:?procedureForm1.Button1Click(Sender:TObject); > WebBrowser1.Navigate('
); whileWebBrowser1.ReadyState Además: Primero, use el método del código de referencia 1 para obtener el código fuente HTML del iframe y escriba IHTMLDocument. En segundo lugar, use IHTMLTABLE y IHTMLRows para obtener correctamente la página web. datos de la tabla. Incluso si los datos de la tabla se asignan mediante JavaScript y otros scripts, los datos se extraen correctamente. Comentario: Cómo extraer Parece que IHTMLDocument2 no tiene WebBrowser1.document.all.tags('table').item(0).Rows.Item(i).Cells.Item(j).innerText Después de resolver esto, necesito reescribir. usando VARIANT Es fácil ser gentil.... de IHTMLDocument2 No se pueden usar expresiones regulares porque los valores de la tabla son asignados dinámicamente por otra página web usando javascript.