Navegando com Mechanoid

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("https://www.inerciasensorial.com.br")
b.select_form(nr=0)
b['username'] = 'julio'
b['password'] = 'julio'
b.submit()

Um navegador em 8 linhas? Só com Python…. 🙂

E o que aconteceu? Vejamos…

from mechanoid import Browser

b = Browser()
b.open(“https://www.inerciasensorial.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? 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…


Posted

in

by

Tags:

Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.