gpt4 book ai didi

python - 使用 Mechanize 提交 Web 自动化表单 - 返回错误

转载 作者:行者123 更新时间:2023-12-04 16:22:40 26 4
gpt4 key购买 nike

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 实例没有属性“点击”

这是提交和同意控件的 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 中键入打印表单时,表单返回为已填写并选择了所有正确的控件。我一生都无法弄清楚为什么这不起作用。我已经做了两天了。

非常感谢帮助。

最佳答案

为什么不直接提交显示的表单 in the documentation sample :

br.select_form(name="whatever")
response = br.submit()

单击提交按钮只是提交表单的一种方式;使用 JavaScript 是另一回事。因此,您无需费心寻找提交控件。

关于python - 使用 Mechanize 提交 Web 自动化表单 - 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com