Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 11:05:38
Saber el ClassNAme de una ventana Faust API de Windows 4 30-07-2007 11:03:00


La franja horaria es GMT +2. Ahora son las 02:49:50.


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