• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Kratos

[Python][PyTeam] Navegando com Mechanoid

1 mensagem neste tópico

Existe um programa chamado Mechanoid feito em Python, uma colagem dos programas que compõem o Mechanize, só que voltado à execução de determinadas tarefas específicas, como entrar no Sourceforge ou conferir o Yahoo Mail.

Basicamente ele emula um navegador, abrindo páginas, clicando em links, preenchendo formulários. É tão fácil que dói os olhos...

Vamos abrir uma página e preencher um formulário:


from mechanoid import Browser

b = Browser()
b.open("http://www.internetwebsite.com.br")
b.select_form(nr=0)
b['username'] = 'USUARIO'
b['password'] = 'SENHA'
b.submit()

Um navegador em 8 linhas? Só com Python....  :cheesygrin:

E o que aconteceu? Vejamos...

from mechanoid import Browser

b = Browser()
b.open("http://www.internetwebsite.com.br")

Importamos o mechanoid, criamos o objeto b baseado na classe Browser(), e chamamos o método .open().

Agora b tem diversos outros métodos, e fazendo:

b.select_form(nr=0)

Podemos manipular os campos do primeiro (0) formulário.

Também poderíamos selecionar o formulário por nome dele, com:

b.select_form(name="formulario_nome")

E ver todos os formulários na página?  :eek: Moleza:  :)

for form in b.forms():
    print form

E se você ver todos os campos de todos os formulários?

for form in b.forms():
    for control in form.controls:
        print "o campo nomeado %s tem o valor %s" % (control.name, control.value)

Por fim, b.submit() envia o formulário.

Outro método interessante é .links(), que você pode percorrer como .forms()

A partir daí, fica moleza você construir um script para abrir uma página e preencher todos os formulários e abrir todos os links. Ótimo para testar um site ou intranet...  :)

[Fonte: www.inerciasensorial.com.br]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora