Pregunta

Me estoy conectando a un sitio web, iniciando sesión.

El sitio web me redirige a nuevas páginas y Mechanize se ocupa de todos los trabajos de cookies y redireccionamiento, pero no puedo obtener la última página. Usé Firebug e hice el mismo trabajo otra vez y vi que hay dos páginas más que tuve que pasar con Mechanize.

Eché un vistazo rápido a las páginas y vi que hay algunos códigos JavaScript y HTML, pero no pude entenderlo porque no parece el código de una página normal. ¿Para qué son esas páginas? ¿Cómo pueden redirigir a otras páginas? ¿Qué debo hacer para pasar estos?

¿Fue útil?

Solución

Si necesita manejar páginas con Javascript, intente WATIR o Selenium : estos manejan un navegador web real y, por lo tanto, pueden manejar cualquier Javascript. WATIR Classic requiere IE o Firefox con una cierta extensión instalada, y verás las páginas parpadear en la pantalla mientras funciona.

Tu otra opción sería entender qué hace el Javascript en la página ofensiva y evitarlo manualmente, pero eso parece oneroso.

Otros consejos

Actualmente, Mechanize no maneja JavaScript. Se está hablando de eventualmente fusionar las capacidades de Johnson en Mechanize, pero hasta que eso suceda, tienes dos opciones :

  1. Calcule el JavaScript lo suficientemente bien como para entender cómo recorrer esas páginas.
  2. Automatice un navegador real que entienda JavaScript usando Watir .
  

¿para qué son esas páginas? Cómo pueden redirigir a otras páginas. ¿Qué debo hacer para pasar estos?

A veces se trabaja en esas páginas. A veces, el JavaScript está ahí para evitar el acceso automatizado, como lo que intentas hacer :). Una gran cantidad de sitios web tienen comprobaciones innecesarias para asegurarse de que tiene un " bueno " navegador, así que asegúrese de que su user_agent esté configurado como algo común, como IE. A veces, configurar user_agent para que se vea como un navegador antiguo te permitirá pasar sin JavaScript.

La automatización del sitio web es divertida porque debe ser más inteligente que el sitio web y sus desarrolladores de software, utilizando múltiples estrategias. Como han dicho los demás, Watir es la mejor herramienta para superar JavaScript en este momento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top