Python mechanize - 登录后点击按钮

标签 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>

谁能帮我?谢谢!

最佳答案

您可以使用 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()

关于Python mechanize - 登录后点击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41285792/

相关文章:

python - 当父进程结束时,由 subprocess.Popen 调用的进程未正确关闭

Perl 万维网 :Mechanize not connecting over https

Python - 如何从字符串中删除隐藏的符号?

python - youtube-dl python 脚本后处理错误 : FFMPEG codecs aren't being recognized

RUBY -Mechanize::ResponseCodeError: 503 => Net::HTTPServiceUnavailable

Python - 使用用户名/密码的未命名输入标签登录到网页抓取

python - Python/Mechanize 中的 Http 错误 405/500(使用 mechanize 自动登录一个网站)

ruby - 通过代理错误使用 SSL 进行 Mechanize

python - Gunicorn 无法终止外部进程

python - 查找由两部分组成的字母的轮廓