[Rio-pm] [Salvador-pm] Mensagem de erro

Adriano Ferreira a.r.ferreira em gmail.com
Sexta Janeiro 5 03:14:04 PST 2007


On 1/4/07, Marcelo Cavalcante <marcmc_perl at yahoo.com.br> wrote:
> Joenio,
>
> Essa FAQ é bastante esclarecedora, segundo ela esse modulo WWW::Mechanize é
> simplesmente inútil porque se ele não trata javascript então é extremamente
> limitado, não serve pra nada. É uma pena porque me parecia um módulo
> bastante interessante. Mais uma vez muito obrigado por tirar mais uma
> dúvida.

Marcelo,

Eu posso entender sua frustração ao saber que o WWW::Mechanize não vai
ajudá-lo com a automação de navegação de web que você queria. Mas
existe uma quantidade enorme de outras páginas na qual pode-se navegar
e fazer muitas coisas interessantes e úteis usando o WWW::Mechanize.
Isto inclui até páginas com Javascript -- em algumas delas, é muito
fácil perceber o que o código Javascript para popular certos campos de
um formulário por exemplo e pré-calcular estes valores com Perl mesmo.
O problema no seu caso é que o Javascript está no link.

O WWW::Mechanize já faz um bocado de coisas integrando as capacidades
de navegação do LWP, as capacidades de parsing de HTML do HTML::Parser
e os poderes de outros módulos. Mais para entender Javascript
completamente, seria necessário ter um interpretador Javascript dentro
do módulo e manter todo o estado do DOM de uma página HTML para você
conseguir repetir o que se faz no browser. Por isso, a sugestão para
usar os módulos inspirados no WWW::Mechanize mas que usam browsers
como o FireFox e o Internet Explorer como o mecanismo por baixo dos
panos (os módulos que o Solli citou -- Mozilla::Mechanize e
Win32::IE::Mechanize) é promissora.

Nada impede que alguém crie o WWW::Mechanize::JavascriptSupported que
integra WWW::Mechanize e o módulo Javascript mencionado por muitos
nesta thtread. Aliás seria até muito útil. Mas ninguém disse que será
fácil.

Adriano.

> Um abraço,
>
> Marcelo
>
> Joenio Marques <joenio at gmail.com> escreveu:
> Olá Marcelo,
>
> Eu nunca utilizei WWW::Mechanize (nao por falta de vontade).
> Mas usando LWP eu geralmente interpreto na mao o que o Javascript está
> fazendo e tento extrair a lógica de formação da URL.
>
> Nao sei se vc já viu mas encontrei esse FAQ no cpan:
>
> http://search.cpan.org/~petdance/WWW-Mechanize-1.20/lib/WWW/Mechanize/FAQ.pod#JavaScript
>
> Att,
>
> Em 04/01/07, Marcelo Cavalcante escreveu:
> > Pessoal é o seguinte:
> >
> > Estou usando o módulo WWW::Mechanize. Em determinado momento executo
> > $mech->follow_link ( text_regex => qr/Next/ ) e em seguida
> > $mech->response->status_line, que me dá a seguinte mensagem:
> > 501 Protocol scheme ´javascript´ is not supported
> >
> > Como vocês podem ver estou simulando um click num link que é javascript.
> > Pergunto:
> > o modulo WWW::Mechanize não suporta links javascript? Se sim, como
> resolver
> > isso?
> >
> > Um abraço,
> >
> > Marcelo
> > Niterói-RJ
> >
> > __________________________________________________
> > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > http://br.messenger.yahoo.com/
> > _______________________________________________
> > Salvador-pm mailing list
> > Salvador-pm at pm.org
> > http://mail.pm.org/mailman/listinfo/salvador-pm
> >
> >
> >
>
>
> --
> Joenio Marques
> - Salvador Perl Mongers
> _______________________________________________
> Salvador-pm mailing list
> Salvador-pm at pm.org
> http://mail.pm.org/mailman/listinfo/salvador-pm
>
>
>
>  __________________________________________________
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
> _______________________________________________
> Salvador-pm mailing list
> Salvador-pm at pm.org
> http://mail.pm.org/mailman/listinfo/salvador-pm
>
>
>


Mais detalhes sobre a lista de discussão Rio-pm