Python机械化 - 登录后单击按钮

时间:2016-12-22 14:48:59

标签: python mechanize

我尝试使用脚本登录网站,然后点击主页上的按钮。到目前为止,我已经得到了这个:

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()

检查html var的返回值,我认为登录进展顺利......但是,从这一点来说,我不知道我将如何点击该按钮。这是它的DOM:

<a href="http://gokano.com/daily">Collect daily points</a>
谁能帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用br.follow_link()

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)

或者,如果您知道该链接将是该页面上的第三个链接,则可以使用br.follow_link(nr=2)

See here了解follow_link()

的更多信息
相关问题