Frame en una pagina web

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
chechu
Aprendiz de Mago
Mensajes: 32
Registrado: 23 Nov 2009, 18:34

Frame en una pagina web

Mensaje por chechu »

Poco a poco voy cogiendo las funciones _IE() aunq como me dijo chefito me cuesta mucho pues no se DHTML....

Me gustaría saber que funciones puedo usar para interactuar con un formulario dentro de una pagina web.

Me explico; dentro de una pagina web, viene un formulario (iframe) en el que se pueden rellenar unos checkbox, y otros controles. Al querer mirar el código de ese formulario, me aparece en blanco.

No sé si me explico
Me podéis ayudar?
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Frame en una pagina web

Mensaje por Chefito »

Cuando yo digo que necesitas leer más dhtml..... :smt016 :smt005 :smt005 . Es broma :smt002 .

No te confundas. Un frame no es un formulario, es un marco. No tienen nada que ver.
Los frames suelen dividir la página web en varias partes. En estos frames se suele cargar páginas webs independientes. Se suele utilizar esta técnica cuando parte del contenido de una página no quieres que apenas cambie, y el de otra parte sí. Ejemplo: Quieres tener siempre un menú visible a la izquierda y en la parte superior publicidad o un logo. En cambio en la parte central derecha quieres ir cargando páginas nuevas. Pues pones tres frames, uno superior, otro izquierdo y otro derecho y ya lo tienes.

El contenido html de la página está en la página que carga el frame puesta en la propiedad src.

Recuerda, la etiqueta frame no es igual que form :smt003 .

Creo recordar que el IE no leía el código html de los frames. En cambio me parece que opera si te da la opción (al pulsar encima de el con el botón derecho del ratón). Pero de esto último no estoy muy seguro.

Yo hace años hice un programa que te leía una página web, y si tenía frames te ponía todos con su código html en unos tab :smt003 . No se ni donde estará :smt005 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
chechu
Aprendiz de Mago
Mensajes: 32
Registrado: 23 Nov 2009, 18:34

Re: Frame en una pagina web

Mensaje por chechu »

Muchas gracias por la respuesta, voy a echar un vistazo.

Por si a alguien le vale de algo, he encontrado un plugin para Firefox que es bastante interesante para estas cosas.

Se llama FireBug y clickeando "Inspeccionar Elemento" sobre un elemento de cualquier página web, te lleva automáticamente a la parte del código del que procede!!!

Interesante si se quiere sacar nombres etiquetas y demás.

PD: Por si a alguien le puede servir

Saludos!!
chechu
Aprendiz de Mago
Mensajes: 32
Registrado: 23 Nov 2009, 18:34

Re: Frame en una pagina web

Mensaje por chechu »

Nada, no hay forma o no doy con ello.

No logro referenciar ningún elemento de una de las macro que quiero programar. Esta es la parte de código a la que hace referencia

<div id="datos_centrales_interior5"><div id="espacio"></div>

<iframe name="iframe_datos"
id="iframe_principal"
frameborder="0"
title="Contenido central"
width="550"

src="/qx/qxaa00jsBuyController?op=FormCmd&segmento=EMPR&version=PU&codProducto=63392&idioma=es&v_parametro=&v_procede=homePR01"


height="600"
onload="gestionIframes.redimension(this.id,'datos_centrales_interior5',this.name);">
 

<p> Acceder a la <a href="/qx/qxaa00jsBuyController?op=FormCmd&segmento=EMPR&version=PU&codProducto=63392&idioma=es&logON=1" alt="DCPI FORMULARIO REGISTRO AHOG ES">página</a></p>
</iframe>

</div>

y dentro de "src=" se encuentran los elementos en sí, pero no logro llegar a ellos.

Para una web que tiene un único frame, la manejo sin problemas pero esto de verdad me tiene loco... :smt021

Me hecha alguien una mano. Pueden ponerme algún ejemplo en alguna otra web?

Gracias y disculpar si soy pesado :smt010
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Frame en una pagina web

Mensaje por Chefito »

Como ya te dije los objetos que quieres atacar no están ya que la página donde se encuentran la carga en un marco.

Simplemente coge el contenido de la propiedad src y accede a la página directamente.
Puede que no sepas hacerlo porque este contenido es una dirección relativa, no absoluta. Que significa esto? Que solo está puesta una parte de la dirección, ya que accede directamente a esa parte porque está metido en el servidor (la verdad es que me he explicado bastante mal :smt005 . Busca en google que seguro que te lo explican mucho mejor :smt002 ).

Tú necesitas una dirección absoluta para acceder a la página del marco. Las direcciones absolutas son las direcciones completas.
Todo esto significa que a /qx/qxaa00jsBuyController?op=FormCmd&segmento=EMPR&version=PU&codProducto=63392&idioma=es&v_parametro=&v_procede=homePR01 que es una dirección relativa y a tí no te sirve, le falta el comienzo de la dirección, la cual será la página principal o algo así (casi seguro la dirección web que te muestre el IE en su barra de direcciones. Puede que le tengas que quitar el final...no se....habría que probar).
Todo unido sería
http://www.pagina_principal.com/qx/qxaa00jsBuyController?op=FormCmd&segmento=EMPR&version=PU&codProducto=63392&idioma=es&v_parametro=&v_procede=homePR01
. Con esto y con la función _IECreate o la que quieras, ya podrías ver el código html y atacar esos objetos :smt003 .

Antes prueba si carga esta página con dirección absoluta copiando directamente la dirección en el IE.

Si tienes problemas ponnos la página web y podremos analizar mejor el problema.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
chechu
Aprendiz de Mago
Mensajes: 32
Registrado: 23 Nov 2009, 18:34

Re: Frame en una pagina web

Mensaje por chechu »

Bueno al final he encontrado lo q buscaba. El código de ejemplo que pego, funcionaría para meter un dato en un box de un frame dentro de una pagina web. Decir que para ver el código del frame, es recomendable usar algún addon tipo firebug

Lo pego aquí por si a alguien más le ayuda;

#include <IE.au3>
$oIE = _IEAttach ("Titulo de pagina", "WindowTitle")
$ifram = _IEFrameGetObjByName ($oIE, "name_frame")
$iDato1 = _IEGetObjByName ($ifram, "name_campo")
_IeFormElementSetValue ($iDato1, "pepe")

La solución que propone chefito era perfecta porque "aislaba" el frame de manera individual para trabajar con él. Por desgracia "aislándolo" no funcionaba correctamente.

Muchas Gracias Chefito por la ayuda!!
(lo de las cañas sigue en pie jeje)
Un saludo
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Frame en una pagina web

Mensaje por Chefito »

Jejejeje....de nada. Me alegro que más o menos lo pudieses solucionar :smt023 .
chechu escribió:lo de las cañas sigue en pie jeje
Lo tendré en cuenta :smt002 :smt005 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Responder