Python 无法使用mechanize登录coursera

Python 无法使用mechanize登录coursera,python,web-scraping,mechanize,Python,Web Scraping,Mechanize,为了登录Coursera,我编写了这个Python脚本,这样我就可以从我注册的课程中下载所有的课堂视频。但是当我运行脚本时,我得到了这个错误 mechanize._mechanize.FormNotFoundError: no form matching nr 0 以下是我的脚本代码: import mechanize br=mechanize.Browser() br.set_handle_robots(False) br.open('https://class.coursera.org/

为了登录Coursera,我编写了这个Python脚本,这样我就可以从我注册的课程中下载所有的课堂视频。但是当我运行脚本时,我得到了这个错误

mechanize._mechanize.FormNotFoundError: no form matching nr 0
以下是我的脚本代码:

import mechanize

br=mechanize.Browser()
br.set_handle_robots(False)
br.open('https://class.coursera.org/inforisk-004/auth/auth_redirector?type=login&subtype=normal&email=')
br.select_form(nr=0) 
br.form["email"] = 'myemail'
br.form["password"] = 'mypassword'
br.submit()
而不是

br.select_form(nr=0)
我也试过了

br.select_form(predicate=lambda f: 'class' in f.attrs and 
               f.attrs['class'] == 'coursera-signin-form')
但是我得到了错误

mechanize._mechanize.FormNotFoundError: no form matching predicate <function <lambda> at 0x1b29758>
mechanize.\u mechanize.FormNotFoundError:没有表单匹配谓词

返回的HTML中不存在该表单。它是用JavaScript构建的。这意味着我不能使用
mechanize
登录Coursera?@Archit Verma您可以登录浏览器,探索cookie(使用Firebug或开发工具)并将它们放入脚本中。在这种情况下,你不必这么做login@ArchitVerma:您必须发送正确的POST请求才能执行此操作,@Blender您能详细说明一下吗?