Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2015
(MAJ) (MAJ) is offline
Miembro
 
Registrado: abr 2007
Posts: 71
Poder: 17
(MAJ) Va por buen camino
Lightbulb geteEementBy... Id, ClassName, TagName en delphi

Buenas muchachos, les dejo este truco para poder extraer fácilmente datos o elementos mediante getElementBy... al igual que lo haría javascript

ej:

Código Delphi [-]
procedure myprocedure; var
elemento:ihtmlelement; colelemento: ihtmlelementcollection
begin
elemento:= Webbrowser1.OleObject.document.getelementbyid('elemento') as ihtmlelement; //se lo convierte a ihtmlelement para que sea compatible //o sino colelemento:= Webbrowser1.OleObject.document.getelementsbyclassname('elemento') as ihtmlelementcollection; //o tambien colelemento:= Webbrowser1.OleObject.document.getelementsbytagname('elemento') as ihtmlellementcollection;
end;
Hay que tener en cuenta que "byclassname" y "bytagname" devuelve una colección de elementos, asi que hay que almacenarlos en un ihtmlelementcollection.
Cuando uno entra a "OleObject" en el webbrowser se puede extraer toda clase de datos y objetos al igual que lo hace javascript(por lo menos lo que voy probando), y hay que estar conciente de que tipo de elemento devuelve ya que si al elemento queremos extraer solamente un atributo por ej:href

Código Delphi [-]
elemento := Webbrowser1.OleObject.document.getelementbyid('elemento').href;
daria error porque estamos tratando de depositar un string en un ihtmlelement.
y tendriamos que declarar un string. Si por alguna razon no queremos extraer datos sino que queremos simular un click o mouseover o mouseout... etc, entonces tenemos que almacenar el elemento en un oleobject

Código Delphi [-]
procedure webmouseover; var
ole:OleObject;
begin
ole := Webbrowser1.OleObject.document.getelementbyid('elemento');//no hace falta convertirlo ya que son compatible ambos ole.mouseover;
end;
ese código simula mouseover sobre el elemento seleccionado.

Bueno espero les resulte útil, saludos para todos

P/D: el codigo no es "case sensitive" como javascript asi que no hay problema con escribir todo en minusculas

P/D: actualicen la lista de trucos en la pagina principal, porque el ultimo truco que aparece es del 2012
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[AYUDA]De Object.ClassName a Objeto kdemia Varios 1 18-06-2010 10:05:38
Saber el ClassNAme de una ventana Faust API de Windows 4 30-07-2007 10:03:00


La franja horaria es GMT +2. Ahora son las 17:55:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi