Comment puis-je utiliser Mechanize pour traiter JavaScript?

Je me connecte à un site Web, en m'inscrivant.

Le site Web me redirige vers de nouvelles pages et Mechanize traite de tous les cookies et des travaux de redirection, mais je ne peux pas obtenir la dernière page. J'ai utilisé Firebug et j'ai fait le même travail à nouveau et j'ai vu qu'il y avait deux autres pages que je devais passer avec Mechanize.

J'ai jeté un coup d'œil sur les pages et j'ai vu qu'il y avait du code JavaScript et HTML, mais je ne pouvais pas le comprendre car il ne ressemble pas au code de page normal. Pour quelles sont ces pages? Comment redéployer vers d'autres pages? Que dois-je faire pour réussir?

Si vous avez besoin de gérer des pages avec Javascript, essayez WATIR ou Selenium – ceux qui utilisent un véritable navigateur Web et peuvent ainsi gérer tout Javascript. WATIR Classic nécessite IE ou Firefox avec une certaine extension installée, et vous verrez les pages clignoter sur l'écran au fur et à mesure de leur fonctionnement.

Votre autre option serait de comprendre ce que le Javascript sur la page offensante et de la contourner manuellement, mais cela semble onéreux.

À l'heure actuelle, Mechanize ne gère pas JavaScript. On parle de fusionner éventuellement les capacités de Johnson en Mechanize, mais jusqu'à ce que cela se produise, vous avez deux options:

  1. Découvrez le JavaScript assez bien pour comprendre comment parcourir ces pages.
  2. Automatissez un navigateur réel qui comprend le JavaScript en utilisant Watir .

À quoi servent ces pages? Comment ils peuvent se rediriger vers d'autres pages. Que dois-je faire pour réussir?

Parfois, le travail se fait sur ces pages. Parfois, le JavaScript est là pour empêcher l'accès automatique comme ce que vous essayez de faire :). Beaucoup de sites Web ont des contrôles inutiles pour vous assurer d'avoir un «bon» navigateur, alors assurez-vous que votre user_agent est défini sur quelque chose de commun, comme IE. Parfois, configurer le user_agent comme un ancien navigateur vous permettra de passer sans JavaScript.

L'automatisation du site Web est amusante, car il faut s'apercevoir du site Web et de ses développeurs de logiciels, en utilisant de multiples stratégies. Comme les autres l'ont dit, Watir est le meilleur outil pour réussir JavaScript en ce moment.