【发布时间】:2015-05-07 12:55:57
【问题描述】:
我要提交的网站代码 ::: FORM PART OF WEBSIDE CODE
当我尝试选择表单时发生的错误
Traceback (most recent call last):
File "call.py", line 35, in <module>
loginAccount()
File "call.py", line 15, in loginAccount
browser.select_form(nr = 0)
File "/usr/lib/python2.7/dist-packages/mechanize/_mechanize.py", line 499, in select_form
global_form = self._factory.global_form
File "/usr/lib/python2.7/dist-packages/mechanize/_html.py", line 544, in __getattr__
self.forms()
File "/usr/lib/python2.7/dist-packages/mechanize/_html.py", line 557, in forms
self._forms_factory.forms())
File "/usr/lib/python2.7/dist-packages/mechanize/_html.py", line 237, in forms
_urlunparse=_rfc3986.urlunsplit,
File "/usr/lib/python2.7/dist-packages/mechanize/_form.py", line 844, in ParseResponseEx
_urlunparse=_urlunparse,
File "/usr/lib/python2.7/dist-packages/mechanize/_form.py", line 981, in _ParseFileEx
fp.feed(data)
File "/usr/lib/python2.7/dist-packages/mechanize/_form.py", line 760, in feed
raise ParseError(exc)
mechanize._form.ParseError: expected name token at '<!\\\\])/g,"\\\\$1").rep'
源代码(我写了# ERROR OCCUR HERE之类的评论):
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.set_handle_refresh(False)
browser.open("https://accounts.google.com/ServiceLoginAuth")
browser.select_form(nr = 0)
browser.form['Email'] = "MYMAIL@gmail.com"
browser.form['Passwd'] = "MYPASWORD"
browser.submit() # Till the here, works fine. I can login.
resp = browser.open("https://accounts.google.com/b/0/SmsAuthSettings?Setup=1")
resp = resp.read()
browser.select_form(nr = 0) # ERROR OCCUR HERE
当我删除 browser.select_form(nr = 0) 时,程序运行正常。 我该怎么办?
【问题讨论】:
-
代码对我有效,没有任何错误。
-
当我阅读您的评论时,我尝试使用不同的电子邮件,即使我尝试更改我的帐户语言但对我来说仍然一样。我认为您无法登录您的帐户,因此它为您重定向了另一个链接,该链接具有表单,因此它没有给您错误。
-
您确定
resp变量包含您提供的实际 HTML 代码吗? -
对我来说也很好
-
嘿,你能检查你的代码,如果它包含这样的东西:codepad.org/c6a8hNGZ 只有当你一切正常时你才能看到。
标签: python python-2.7 mechanize