我正在尝试编写脚本以登录网站,然后单击主页上的按钮。到目前为止,我有这个:
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/