for control in form.controls:
if control.type == 'text':
if 'user' in control.name:
control.value = 'blah'
if 'mail' in control.name:
control.value = 'blah'
if control.type == 'password':
if 'pass' in control.name:
control.value = 'blah'
if control.type == 'checkbox':
if 'agree' in control.name:
control.selected = True
if control.type == 'submit':
if 'Submit' in control.name:
control.readonly = False
Я заполняю форму таким образом. Затем я устанавливаю флажок «Принимаю», после чего пытаюсь использовать br.submit () для отправки формы и отправки данных. Ошибка, я получаю это:
AttributeError: Экземпляр SubmitControl не имеет атрибута «click»
Это источник HTML элементов управления для отправки и согласования:
<input type="submit" name="regSubmit" value="Register" />
<label for="regagree"><input type="checkbox" name="regagree" onclick="checkAgree();" id="regagree" class="check" /> <b>I Agree</b></label>
Источник HTML этого сайта имеет следующий JavaScript:
function verifyAgree()
{
if (document.forms.creator.passwrd1.value != document.forms.creator.passwrd2.value)
{
alert("The two passwords you entered are not the same!");
return false;
}
if (!document.forms.creator.regagree.checked)
{
alert("Please read and accept the agreement before registering.");
return false;
}
return true;
}
function checkAgree()
{
document.forms.creator.regSubmit.disabled = isEmptyText(document.forms.creator.user) || isEmptyText(document.forms.creator.email) || isEmptyText(document.forms.creator.passwrd1) || !document.forms.creator.regagree.checked;
setTimeout("checkAgree();", 1000);
}
setTimeout("checkAgree();", 1000);
Когда я печатаю формы для печати в IDLE, форма возвращается как заполненная, и все надлежащие элементы управления выбираются. Я не могу на всю жизнь понять, ПОЧЕМУ это не работает. Я был на этом в течение двух дней.
Помощь очень ценится.