2016-12-22 2 views
0

Ich versuche ein Skript zu tun, um mich in eine Website einzuloggen und dann auf einen Button auf der Homepage zu klicken. Bisher habe ich dies habe:Python mechanize - Klicken Sie auf den Button nach dem Login

import mechanize 
import cookielib 
#cria um navegador, um browser de codigo... 
br = mechanize.Browser() 
url = 'http://www.gokano.com' # preencha com seu site joomla 
email = 'xxx' # o login utilizado 
senha = 'xxx' # a senha utilizada 

# Prepara para tratar cookies... 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 

# Ajusta algumas opções do navegador... 
br.set_handle_equiv(True) 
br.set_handle_gzip(False) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 

# Configura o user-agent. 
# Do ponto de vista do servidor, o navegador agora é o Firefox. 
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11;\ 
U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615\ 
Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 


br.open(url) 

br.select_form(nr=0) 

# Preencher o formulário com os dados de login... 
br.form['email'] = email 
br.form['password'] = senha 

# Enviar o formulário usando o método HTTP POST 
br.submit() 

# E finalmente, busque o HTML retornado: 
html = br.response().read() 

die Rückkehr Überprüfung auf HTML var, gehe ich davon aus, dass die Anmeldungs ​​gut geht ... aber von diesem Punkt weiß ich nicht, wie ich werde Klick bin, dass Taste. Hier ist sein DOM:

<a href="http://gokano.com/daily">Collect daily points</a> 

kann mir jemand helfen? Vielen Dank!

Antwort

1

Sie können br.follow_link() verwenden:

for link in br.links(): 
    if "gokano.com" in link.url: # or select your link by whatever criteria 
    to_follow = link 
    break 

br.follow_link(to_follow) 

Oder wenn es wissen Sie, dass die Verbindung der dritte Link auf der Seite sein wird, können Sie br.follow_link(nr=2)

See here für mehr auf follow_link()

+0

verwenden Diese ist genau das, was ich gesucht habe. Vielen Dank!! –

+0

Sure thing :) Hier ist eine interessante (tangential bezogene) Antwort zum Thema Scraping: http://stackoverflow.com/questions/31530335/selenium-webdriver-vs-mechanize – Will

Verwandte Themen