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; varelemento:ihtmlelement; colelemento: ihtmlelementcollection
begin elemento:= Webbrowser1.OleObject.document.getelementbyid('elemento') as ihtmlelement; colelemento:= Webbrowser1.OleObject.document.getelementsbyclassname('elemento') as ihtmlelementcollection; 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');
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