在机械化中单击和提交有什么区别?

时间:2019-02-11 22:39:41

标签: python mechanize-python

我正在尝试使用Mechanize登录到Facebook。

我已经编写了这两个不同的脚本来登录:

脚本1

br = Browser()
br.set_handle_robots(False)

userName = 'My EmailID'
password = 'My Password'
response = br.open('https://www.facebook.com/')
if response.code is 200:
    loginForm = br.forms()[0]
    loginForm.set_value(userName, type='email')
    loginForm.set_value(password, type="password")
    response = loginForm.click(label='Log In')

脚本2

br = Browser()
br.set_handle_robots(False)

userName = 'My EmailID'
password = 'My Password'
response = br.open('https://www.facebook.com/')
if response.code is 200:
    br.select_form(nr=0)
    br.set_value(userName, type='email')
    br.set_value(password, type="password")
    response = br.submit()

第二个脚本使我登录了Facebook,但第一个方法却没有。

即使我在第一个脚本中单击了正确的提交按钮,为什么它也不起作用?

HTML FORM

1 个答案:

答案 0 :(得分:0)

更新: 这么晚才回复很抱歉。 这是您要使用click的方式:

from mechanize import Browser
br = Browser()
br.set_handle_robots(False)

userName = ''
password = ''
response = br.open('https://www.facebook.com/')
if response.code is 200:
    loginForm = br.forms()[0]
    loginForm.set_value(userName, type='email')
    loginForm.set_value(password, type="password")

    br.select_form(nr=0)
    req = br.click(label='Log In')
    response = br.open(req)