Come posso usare Mechanize per elaborare JavaScript?
-
03-07-2019 - |
Domanda
Mi collego a un sito Web, eseguo l'accesso.
Il sito web mi reindirizza a nuove pagine e meccanizza le offerte con tutti i processi relativi ai cookie e al reindirizzamento, ma non riesco a ottenere l'ultima pagina. Ho usato Firebug e ho fatto di nuovo lo stesso lavoro e ho visto che c'erano altre due pagine che dovevo passare con Mechanize.
Ho dato una rapida occhiata alle pagine e ho visto che c'è del codice JavaScript e HTML ma non riesco a capirlo perché non assomiglia al normale codice della pagina. A cosa servono quelle pagine? Come possono reindirizzare ad altre pagine? Cosa devo fare per passare questi?
Soluzione
Se devi gestire pagine con Javascript, prova WATIR o Selenium - quelli guidano un vero browser web e possono quindi gestire qualsiasi Javascript. WATIR Classic richiede IE o Firefox con una determinata estensione installata e vedrai le pagine lampeggiare sullo schermo mentre funziona.
L'altra opzione sarebbe capire cosa fa il Javascript nella pagina offensiva e bypassarlo manualmente, ma questo sembra oneroso.
Altri suggerimenti
Attualmente Mechanize non gestisce JavaScript. Si parla infine di fondere le capacità di Johnson in Mechanize, ma fino a quando ciò accade, hai due opzioni :
- Scopri JavaScript abbastanza bene da capire come attraversare quelle pagine.
- Automatizza un browser vero e proprio che comprende JavaScript utilizzando Watir .
a cosa servono quelle pagine? come possono reindirizzare ad altre pagine. cosa devo fare per passare questi?
A volte si lavora su quelle pagine. A volte JavaScript è lì per impedire l'accesso automatizzato come quello che stai cercando di fare :). Molti siti web hanno controlli inutili per assicurarsi di avere un "buono" browser, quindi assicurati che il tuo user_agent
sia impostato su qualcosa di comune, come IE. A volte l'impostazione di user_agent
in modo che sembri un vecchio browser ti farà passare senza JavaScript.
L'automazione del sito Web è divertente perché devi superare in astuzia il sito Web e i suoi sviluppatori software, utilizzando più strategie. Come hanno detto gli altri, Watir è lo strumento migliore per superare JavaScript al momento.