Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   geteEementBy... Id, ClassName, TagName en delphi (https://www.clubdelphi.com/foros/showthread.php?t=88603)

(MAJ) 02-07-2015 17:33:12

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

Casimiro Notevi 02-07-2015 17:43:55

^\||/^\||/^\||/




.

ecfisa 02-07-2015 18:09:44

Muchas gracias.

Saludos :)

nlsgarcia 02-07-2015 21:26:27

(MAJ)

Cita:

Empezado por (MAJ)
...les dejo este truco para poder extraer fácilmente datos o elementos mediante getElementBy... al igual que lo haría JavaScript...

^\||/

Nelson.

Al González 02-07-2015 23:28:59

Muchísimas gracias, MAJ.

Cita:

Empezado por (MAJ) (Mensaje 493896)
P/D: actualicen la lista de trucos en la pagina principal, porque el ultimo truco que aparece es del 2012

No sé si algo ha cambiado pero, según recuerdo, las sección de trucos estaba abierta para que cualquier miembro pudiera agregar nuevos temas. :confused:

Casimiro Notevi 03-07-2015 00:30:21

Cita:

Empezado por Al González (Mensaje 493911)
No sé si algo ha cambiado pero, según recuerdo, las sección de trucos estaba abierta para que cualquier miembro pudiera agregar nuevos temas. :confused:

Cualquiera puede agregar su truco :)

MAXIUM 03-07-2015 01:08:32

Excelente aporte :up:


La franja horaria es GMT +2. Ahora son las 21:53:47.

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