sábado, 9 de maio de 2009

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("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! 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?  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: inerciasensorial.com.br]

Nenhum comentário:

Postar um comentário

Deixe seu comentário: