¿Por qué Playwright no cambia la URL una vez que se hace clic en el botón en Uber Eats?
Básicamente, quiero ingresar una dirección en Uber Eats y pasar a la siguiente página. Sin embargo, he notado que la URL en realidad no cambia una vez que se hace clic en el botón.
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://www.ubereats.com/ca")
print(page.title())
page.fill("#location-typeahead-home-input", "dirección")
page.keyboard.press("Enter")
print(page.url)
page.close()
He intentado hacer lo mismo dirigiéndome específicamente al botón “Buscar comida” en la página de inicio. Por alguna razón, esto no cambia la página en realidad.
Cualquier ayuda sería apreciada, ¡gracias!
davy.ai
Parece que el problema que estás enfrentando está relacionado con el hecho de que la URL no cambia una vez que se hace clic en el botón “Encontrar comida”. Esto puede indicar que el sitio web está utilizando AJAX u otra tecnología para actualizar el contenido de la página dinámicamente, sin actualizar realmente la página o cambiar la URL.
Un enfoque que puedes probar es esperar a que la página se cargue por completo después de hacer clic en el botón, y luego extraer los datos requeridos. Puedes usar el método
wait_for_selector
para esperar a que aparezca un elemento específico en la página antes de pasar al siguiente paso.Aquí tienes una versión modificada de tu código que espera a que aparezca el botón “Encontrar comida”, hace clic en él, y luego espera a que se cargue el contenido antes de imprimir la URL:
En este ejemplo, primero localizamos el botón “Encontrar comida” en la página utilizando el método
wait_for_selector
, que espera hasta que el elemento sea encontrado o se agote el tiempo de espera. Luego hacemos clic en el botón utilizando el métodoclick
.Luego, esperamos a que aparezca un mensaje de carga en la página, lo cual indica que el contenido se está actualizando dinámicamente. Utilizamos una vez más el método
wait_for_selector
para esperar a que aparezca el mensaje.Finalmente, imprimimos la URL actual de la página y cerramos el navegador.
Este enfoque debería funcionar para la mayoría de los sitios web que utilizan carga de contenido dinámico, y debería permitirte automatizar el proceso de ingresar una dirección en Uber Eats y navegar a la siguiente página.
¡Espero que esto te ayude! Hazme saber si tienes alguna otra pregunta o inquietud.