Python механизировать проверку, если поле обязательно - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь механизировать библиотеку, чтобы зарегистрировать пользователя. Есть 4 поля имя, фамилия, адрес электронной почты, пароль. Каждое поле является обязательным, но если я запускаю этот код, он запускается успешно и не выдает ошибку, а также не регистрирует пользователя (отсутствует фамилия). Как я могу проверить все обязательные поля перед отправкой формы?

import csv
import mechanize

br = mechanize.Browser()
#br.set_all_readonly(False)    # allow everything to be written to
br.set_handle_robots(False)   # ignore robots
br.set_handle_refresh(False)  # can sometimes hang without this
br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36')]             # [('User-agent', 'Firefox')]

response = br.open('abc.com/register.aspx')

for form in br.forms():
    print ("Form name:", form.name)

br.select_form("TheForm")

br.form['txtEmail$TheBox'] = 'abc@xyz.com';
br.form['txtPass$TheBox'] = 'abcxyz123';
br.form['txtFname$TheBox'] = 'abc';

response = br.submit()
print(response.read())

1 Ответ

1 голос
/ 08 апреля 2020

после:

br.select_form("TheForm")

использование:

for control in br.controls: print control

Это должно показать все обязательные поля.

...