ViaMichelin |
Responder |
Autor | |
main
Colaborador Unido: 31/Agosto/2009 Localización: OVIEDO Estado: Sin conexión Puntos: 1258 |
Tema: ViaMichelin Enviado: 25/Noviembre/2019 a las 14:14 |
Acces_2010 vs Windows_7 Buenos dias al grupo: Estamos tratando de pasar, desde un formulario, algunos parámetros al formulario web de viamichelin con el fin de obtener una determinada ruta. Y apelo a vuestra generosidad, como siempre, a ver si me echais una mano Necesito conocer el nombre del boton "+" para añadir una etapa, asi como el nombre y su indice del cuadro de texto donde se van añadiendo las sucesivas etapas. Y por último el nombre del boton "Buscar" para simular un click y poder concluir el proceso de generación de la ruta. El problema es que los antiguos nombres que tenia ya no coinciden con los actuales. De momento solo me funciona la entrada del lugar de partida y la del lugar de destino Y esto es lo que hay: Public Sub RutaMichelin() Dim i As Integer Dim IE As New InternetExplorer Dim IEDoc As HTMLDocument Dim InputmichelinZoneTexte As HTMLInputElement Dim InputmichelinBouton As HTMLFormElement IE.Navigate "http://www.viamichelin.es/web/Itinerarios" Do While IE.ReadyState = 4: DoEvents: Loop 'Do While Do Until IE.ReadyState = 4: DoEvents: Loop 'Do Until IE.visible = True With IE For i = 1 To 10 DoEvents Next Set IEDoc = IE.Document 'Señalamos nuestro cuadro de texto de PARTIDA Set InputmichelinZoneTexte = IEDoc.all("Departure") 'Definimos el texto que queremos colocar dentro InputmichelinZoneTexte.value = "33006 Oviedo" 'Señalamos nuestro cuadro de texto de DESTINO Set InputmichelinZoneTexte = IEDoc.all("Arrival") 'Definimos el texto que queremos colocar dentro InputmichelinZoneTexte.value = "28002 MADRID" ' De aqui en adelante ya no me reconoce nada 'Señalamos nuestro botón añadir etapa Set InputmichelinBouton = IEDoc.Forms("button.add-step") 'Y simulamos un click InputmichelinBouton.submit ---------------------------------------- ------------------------------------- 'Esperamos el fin de la búsqueda End With Set IE = Nothing Set IEDoc = Nothing End Sub Saludos
Editado por main - 25/Noviembre/2019 a las 14:31 |
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3849 |
Enviado: 26/Noviembre/2019 a las 14:48 |
Pues el + que yo sepa es el ASCII 43, pero no me queda nada claro para qué lo necesitas.
Luis
|
|
El Búho es un pajarraco
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 26/Noviembre/2019 a las 14:56 |
Lo más seguro es que ahora tenga un ID o una clase. Click con botón derecho en el elemento y fíjate si tiene Eventos.
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 26/Noviembre/2019 a las 20:14 |
Efectivamente, el buton tiene una clase.
Prueba este par de líneas, te dejará avanzar. Set InputmichelinBouton = IEDoc.querySelector(".searchbox-submit-button") InputmichelinBouton.Click |
|
main
Colaborador Unido: 31/Agosto/2009 Localización: OVIEDO Estado: Sin conexión Puntos: 1258 |
Enviado: 26/Noviembre/2019 a las 21:29 |
Hola Guarracuco Gracias por tu interes El boton "+" es el que, al hacer click sobre el, nos va solicitando nuevas etapas(direcciones). Y una vez que hemos rellenado las etapas que deseamos hay que pulsar sobre el boton "Buscar" para que genere la ruta. Y todo eso es lo que pretendo automatizar En principio, con la instrucción que me pones, no parece que el boton "+" coja el foco Saludos Y gracias de nuevo
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 26/Noviembre/2019 a las 23:10 |
Cambia
Set InputmichelinBouton = IEDoc.querySelector(".searchbox-submit-button") por Set InputmichelinBouton = IEDoc.querySelector(".add-step")
|
|
main
Colaborador Unido: 31/Agosto/2009 Localización: OVIEDO Estado: Sin conexión Puntos: 1258 |
Enviado: 27/Noviembre/2019 a las 13:12 |
Perfecto, ahora Sí. Muchas gracias guarracuco Ya estaba empezando a construir la URL por la fuerza bruta En definitiva queda asi: Public Sub RutaMichelin() Dim i As Integer Dim IE As New InternetExplorer Dim IEDoc As HTMLDocument Dim InputmichelinZoneTexte As HTMLInputElement Dim InputmichelinBouton As HTMLFormElement IE.Navigate "http://www.viamichelin.es/web/Itinerarios" Do While IE.ReadyState = 4: DoEvents: Loop 'Do While Do Until IE.ReadyState = 4: DoEvents: Loop 'Do Until IE.visible = True With IE For i = 1 To 10 DoEvents Next Set IEDoc = IE.Document 'Señalamos nuestro cuadro de texto de SALIDA Set InputmichelinZoneTexte = IEDoc.all("Departure") 'Definimos el texto que queremos colocar dentro InputmichelinZoneTexte.value = "Oviedo España" 'Señalamos nuestro cuadro de texto de DESTINO Set InputmichelinZoneTexte = IEDoc.all("Arrival") 'Definimos el texto que queremos colocar dentro InputmichelinZoneTexte.value = "MADRID España" 'Señalamos nuestro boton de añadir Etapa y hacemos un click Set InputmichelinBouton = IEDoc.querySelector(".add-step") InputmichelinBouton.Click 'Señalamos nuestra primera etapa y colocamo su valor Set InputmichelinZoneTexte = IEDoc.all("step-1") InputmichelinZoneTexte.value = "Santander España" 'Señalamos nuestro boton de añadir Etapa y hacemos un click Set InputmichelinBouton = IEDoc.querySelector(".add-step") InputmichelinBouton.Click 'Señalamos nuestra segunda etapa y colocamo su valor Set InputmichelinZoneTexte = IEDoc.all("step-2") InputmichelinZoneTexte.value = "Valladolid España" 'Señalamos el boton busacr y hacemos un click Set InputmichelinBouton = IEDoc.querySelector(".searchbox-submit-button") InputmichelinBouton.Click 'Esperamos el fin de la búsqueda End With Set IE = Nothing Set IEDoc = Nothing End Sub 'Para quien quiera construir una Url directamente por la fuerza bruta 'https://www.viamichelin.es/web/Itinerarios?departure=33006 Oviedo&step-1=24001 León España&step-2=Valladolid España&step-3=Porto Portugal&arrival=28002 MADRID Gracias de nuevo Guarracuco Saludos a todos Se puede cerrar el tema
Editado por main - 27/Noviembre/2019 a las 13:20 |
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 27/Noviembre/2019 a las 13:29 |
QuerySelector te permite seleccionar un elemento con una clase, en caso de más de uno tenga esa clase. Muy importante es que es IExplorer lo acepta.
|
|
main
Colaborador Unido: 31/Agosto/2009 Localización: OVIEDO Estado: Sin conexión Puntos: 1258 |
Enviado: 27/Noviembre/2019 a las 14:35 |
Gracias por la informacion Bueno, que una vez conseguido veo que aparecen bajo el mapa datos ciertamente utiles tales como el tiempo estimado de la ruta, Kilómetros de la ruta y el coste estimado. A ver si alguien se decide a exponer como se obtienen (extraen) esos datos Saludos a todos Editado por main - 27/Noviembre/2019 a las 14:38 |
|
main
Colaborador Unido: 31/Agosto/2009 Localización: OVIEDO Estado: Sin conexión Puntos: 1258 |
Enviado: 18/Diciembre/2019 a las 18:50 |
Se puede cerrar este hilo |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |