cppwebbrowser dom
#1
Escrito 12 octubre 2012 - 09:41
http://www.cryer.co.uk/brian/index.htm
Muchas gracias amigos
#2
Escrito 12 octubre 2012 - 09:52
Hola amigos del foro he estado busando com recorrer los elementos de un sitio web que cargo en mi app a traves del cppwebbrowser, pero aun no encuntro nada en c++, he encontrado una pagina interesante en delphi, pero de este lenguaje no se nada. Quizas me puedan ayudar con algun codigo o traduciendo el codigo que esta en el siguiente sitio:
http://www.cryer.co.uk/brian/index.htm
Muchas gracias amigos
Aparecen diferentes enlaces de código amigo... cuál de todos quieres traducir a c++
#3
Escrito 12 octubre 2012 - 10:10
Seria muy bueno tener en este foro todo lo de la pagina pero seria mucho pedir,
si puedes solo traducir esto:
http://www.cryer.co....er/get_HTML.htm seria muy bueno,
gracias de antemano
#4
Escrito 13 octubre 2012 - 02:05
Bienvenido monomicho.
Parece que quieres extraer el contenido de una determinada URL puedes usar la siguiente función muy similar a la presentada en el enlace que proporcionas sólo que lo lee directamente de la URL no desde el TCppWebBrowser:
String InternetReadWeb(char* URL) { HINTERNET hNet; HINTERNET hUrl; char Buffer[513]; DWORD BytesRead = 0; String Text = ""; bool NoError; if(InternetAttemptConnect(0) != ERROR_SUCCESS) return Text; hNet = InternetOpen("agent", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if(hNet){ hUrl = InternetOpenUrl(hNet, URL, NULL, 0, INTERNET_FLAG_RELOAD, 0); if(hUrl){ // Lee la pagina web... while(true){ NoError = InternetReadFile(hUrl, Buffer, sizeof(Buffer)-1, &BytesRead); if(NoError && BytesRead==0) break; Buffer[BytesRead] = 0; Text = Text + Buffer; } InternetCloseHandle(hUrl); } InternetCloseHandle(hNet); } return Text; }
PD: Vario el código para optimizar en velocidad. Si aumentas mas el tamaño del Buffer irá más rápido en Webs con código HTLM mas extenso.
Saludos.
#5
Escrito 15 octubre 2012 - 12:16
Me ha servido el código que me dejas y de mucho.
Yo quisiera hacer mas, no se si mis pretensiones no se pueden lograr ya que en otros foros no me responden, quizás estoy pidiendo demasiado. Esto tratando de entender el IHTMLElement o IHTMLElementCollection ya que he visto que utilizan mucho "eso" para trabajar con la web desde c++; resulta que no encuentro código de c++ sobre su manejo y encontré ese sitio del cual deje un link en mi primer post, que creo que trabajan bien el tema, pero no se nada de delphi.
Te planteo mi objetivo y espero que me respondan si es posible y como hacerlo o que me dejen saber donde esta la documentación del para aprender y hacerlo yo.
Necesito poder trabajar con un a web desde c++ com si fuera javascript:
-poder contar los elementos determinados de una web (links, <p>, <table>, etc)
-poder controlarlos (escribir en ellos, obtenr el texto)
-presionar los botones
-identificar los elementos por tag, id, name, class
Eso es lo que he venido preguntando en los foros escafandra y no me han respondio ni me han dicho , mira eso lo aprendes aqui o alla. Como no me han dicho nada no se si existe esa posibilidad desde c++ o si la hay y se la reservan...?
Espero una ayudita si es posible, y muchas gracias.
#6
Escrito 17 octubre 2012 - 06:51