我需要填写name=“email”但mechanize say name=“email”不存在(查看输出)。为什么我找不到它?我必须接受其他命令吗?或者我可以用替换html文件中的一些文本来解决这个问题吗?在
<input class="box410" type="text" VCARD_NAME="vCard.Email" id="email" name="email" value="" tabindex="17" placeholder="Kontakt E-Mail Adresse" />
代码:
^{pr2}$输出:
<regForm POST https://reg.webmail.freenet.de/freenet/Registration application/x-www-form-urlencoded
<TextControl(localpart=)>
<RadioControl(gender=[HERR, FRAU, FIRMA])>
<TextControl(business=)>
<TextControl(firstname=)>
<TextControl(lastname=)>
<TextControl(zip=)>
<TextControl(town=)>
<TextControl(street=)>
<TextControl(number=)>
<SelectControl(bday=[*, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])>
<SelectControl(bmonth=[*, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12])>
<SelectControl(byear=[*])>
<PasswordControl(password1=)>
<PasswordControl(password2=)>
<TextControl(code=)>
<HiddenControl(patrick=MjQyMDY5NC1iNDkwNzU0OThlYWE5YTM5OTgyMjk3NzA1MjQ5NzU1ZS0xMzk2NDU1NDIyLTg4ZWNjMjIzZTQzMw==) (readonly)>
<CheckboxControl(agb=[yes])>
<ImageControl(<None>=Senden)>
<HiddenControl(mandant=freenet) (readonly)>
<HiddenControl(action=Registration) (readonly)>
<HiddenControl(JSEnabled=0) (readonly)>
<HiddenControl(productID=2001004) (readonly)>
<HiddenControl(startDate=2014-04-02T18:17:02+02:00) (readonly)>
<HiddenControl(orderType=MAILBASIC) (readonly)>
<HiddenControl(referer=) (readonly)>
<HiddenControl(mitarbeiter=0) (readonly)>
<HiddenControl(cid=) (readonly)>
<HiddenControl(pwdstrength=inaktiv) (readonly)>
<HiddenControl(pwdstrength2=inaktiv) (readonly)>
<HiddenControl(altDomain=) (readonly)>
<HiddenControl(pidUrlValue=) (readonly)>
<HiddenControl(epidUrlValue=) (readonly)>
<HiddenControl(ipidUrlValue=) (readonly)>
<HiddenControl(pcUrlValue=) (readonly)>
<HiddenControl(subpcUrlValue=) (readonly)>
<HiddenControl(scpacoUrlValue=) (readonly)>
<HiddenControl(scevidUrlValue=) (readonly)>
<HiddenControl(ccUrlValue=) (readonly)>
<HiddenControl(pidCookieValue=) (readonly)>
<HiddenControl(epidCookieValue=) (readonly)>
<HiddenControl(ipidCookieValue=) (readonly)>
<HiddenControl(scevidCookieValue=) (readonly)>
<HiddenControl(scpacoCookieValue=) (readonly)>
<HiddenControl(subpcCookieValue=) (readonly)>
<HiddenControl(pcCookieValue=) (readonly)>>
代码:
browser.form["email"] = "xyz@abc.com"
输出:
Traceback (most recent call last):
File "C:\Users\Lucas\Documents\MEGAsync_Python\Hitnews generator\email freenet.py", line 47, in <module>
browser.form["email"] = "testmail@aol.de" #Kontaktemailadresse
File "build\bdist.win32\egg\mechanize\_form.py", line 2780, in __setitem__
control = self.find_control(name)
File "build\bdist.win32\egg\mechanize\_form.py", line 3101, in find_control
return self._find_control(name, type, kind, id, label, predicate, nr)
File "build\bdist.win32\egg\mechanize\_form.py", line 3185, in _find_control
raise ControlNotFoundError("no control matching "+description)
ControlNotFoundError: no control matching name 'email'
您应该首先选择要使用的表单,然后按id指定元素。在您所引用的网页中,它被称为
localpart
。下面是示例代码:或者,如果您知道只有一个表单,您可以简单地完成
br.select_form(nr=0)
然后,最后:
^{pr2}$相关问题 更多 >
编程相关推荐