В чем разница между щелчком и отправкой в ​​механизации? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь войти в 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 голосов
/ 12 февраля 2019

Обновлено: Извините за поздний ответ.Вот способ, если вы хотите использовать нажмите:

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)
...