使用python mechanize库登录https站点

使用python mechanize库登录https站点,python,https,mechanize,Python,Https,Mechanize,我有以下代码: import requests import sys import urllib2 import re import mechanize import cookielib #import json #import imp #print(imp.find_module("requests")) #print(requests.__file__) EMAIL = "******" PASSWORD = "*******" URL = 'https://www.imleagues.c

我有以下代码:

import requests
import sys
import urllib2
import re
import mechanize
import cookielib
#import json
#import imp
#print(imp.find_module("requests"))
#print(requests.__file__)
EMAIL = "******"
PASSWORD = "*******"

URL = 'https://www.imleagues.com/Login.aspx'
address = "http://www.imleagues.com/School/Team/Home.aspx?Team=27d6c31187314397b00293fb0cfbc79a"
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

br.add_password(URL, EMAIL, PASSWORD)
br.open(URL)

#br.open(URL)
#br.select_form(name="aspnetForm")
#br.form["ctl00$ContentPlaceHolder1$inUserName"] = EMAIL
#br.form["ctl00$ContentPlaceHolder1$inPassword"] = PASSWORD
#response = br.submit()
#br= mechanize.Browser()
site = br.open(address)

    # Start a session so we can have persistant cookies
#session = requests.Session()

    # This is the form data that the page sends when logging in
#login_data = {
 #   'ctl00$ContentPlaceHolder1$inUserName': EMAIL,
 #   'ctl00$ContentPlaceHolder1$inPassword': PASSWORD,
  #  'aspnetFrom': 'http://www.imleagues.com/Members/Home.aspx',
#}
#URL_post = 'http://www.imleagues.com/Members/Home.aspx'
    # Authenticate
#r = session.post(URL, data=login_data)

    # Try accessing a page that requires you to be logged in
#r = session.get('http://www.imleagues.com/School/Team/Home.aspx?Team=27d6c31187314397b00293fb0cfbc79a')



website = site.read()


f = open('crypt.txt', 'wb')
f.write(website)

#print(website_html)

我正在尝试登录这个网站来监控游戏时间,并确保它们不会在我身上发生变化(再次)。我已经尝试了各种方法来实现这一点,大多数都在上面注释掉了,但所有这些方法都将我重定向回登录页面。有什么想法吗?谢谢。

正如我在给定网站中看到的,登录按钮不在
submit
标签中。登录是javascript函数


它是无头网络浏览器。因此,您可以完成与使用mechanize相同的任务,并且它支持javascript。

这就更有意义了。谢谢。关于如何从下拉按钮(javascript)中选择选项,有什么想法吗?我已经知道如何填写我的用户名和密码,但我现在需要选择我的学校。你可以在spinner中运行js代码,我想这比在python中更容易。它看起来是这样的:
browser.runjs(“$”(“[schid=e002364c7b414cfd8195be06fb7707ba]”。单击())
schid
html
中特定学校
li
项的属性。这里是我尝试过的要点:我并不是有意要否决这项投票(事实上我甚至没有意识到我是这么做的),但现在我无法撤销它。它实际上完美地回答了我的问题。很抱歉