Может кто-нибудь, пожалуйста, объясните мне, что здесь происходит.Кажется, что Python отказывается работать (с twill), когда я пытаюсь войти в свой почтовый ящик на Yahoo:
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************
IDLE 1.2.4
>>> import twill
>>> twill.shell.main()
-= Welcome to twill! =-
current page: *empty page*
>> go http://us.yahoo.com
==> at http://us.yahoo.com
current page: http://us.yahoo.com
>> follow Mail
==> at https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> showforms
Form name=login_form (#1)
## ## __Name__________________ __Type___ __ID________ __Value__________________
1 .tries hidden (None) 1
2 .src hidden (None) ym
3 .md5 hidden (None)
4 .hash hidden (None)
5 .js hidden (None)
6 .last hidden (None)
7 promo hidden (None)
8 .intl hidden (None) us
9 .bypass hidden (None)
10 .partner hidden (None)
11 .u hidden (None) 68gre5567rq16
12 .v hidden (None) 0
13 .challenge hidden (None) 9wKUoOWDdP5Fho0kPfqPKEhPZBdK
14 .yplus hidden (None)
15 .emailCode hidden (None)
16 pkg hidden (None)
17 stepid hidden (None)
18 .ev hidden (None)
19 hasMsgr hidden (None) 0
20 .chkP hidden (None) Y
21 .done hidden (None) http://mail.yahoo.com
22 .pd hidden (None) ym_ver=0&c=&ivt=&sg=
23 pad hidden pad 6
24 aad hidden aad 6
25 login text username
26 passwd password passwd
27 .persistent checkbox persistent [] of ['y']
28 1 .save submi ... .save
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 login *****************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> fv 1 passwd ***************
current page: https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym
>> submit
Note: submit is using submit button: name=".save", value=""
Following HTTP-EQUIV=REFRESH to http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
current page: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
>> info
Page information:
URL: http://us.mg5.mail.yahoo.com/dc/launch?.gx=1&.rand=b3a02cc8lb0aa
HTTP code: 200
Content type: text/html; charset=utf-8 (HTML)
Page title: Yahoo! Mail
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
twill.shell.main()
File "C:\Python25\Lib\site-packages\twill\shell.py", line 383, in main
shell.cmdloop(welcome_msg)
File "C:\Python25\lib\cmd.py", line 142, in cmdloop
stop = self.onecmd(line)
File "C:\Python25\lib\cmd.py", line 219, in onecmd
return func(arg)
File "C:\Python25\Lib\site-packages\twill\shell.py", line 42, in do_cmd
print '\nERROR: %s\n' % (str(e),)
File "C:\Python25\lib\HTMLParser.py", line 59, in __str__
result = self.msg
AttributeError: 'ParseError' object has no attribute 'msg'
>>>
Обновление 1 :
(это обновление - мой ответ Робусу)
Привет, Робус !!!
Прежде всего, я предполагаю, что это была опечатка, когда Вы писали:
Вот что я сделал: пошел в C: \ Python26 \ Lib \ site-packages \ twill-0.9-py2.6.egg \ twill \ other_packages \
Я думаюВы имели в виду этот путь: " C: \ Python26 \ Lib \ site-packages \ twill \ other_packages ".В противном случае я не вижу там такой папки / каталога с именем " twill-0.9-py2.6.egg " - есть только файл с таким именем (тот, который, я думаю, был загружен во времяустановка механизированного оборудования.) Пожалуйста, скажите мне, если мое предположение неверно - я вполне могу не видеть здесь чего-то очень очевидного, поскольку я просто новичок.
Итак, следуя Вашим инструкциям, я сделал это:
Я обнаружил " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist " на моем компьютере (как видите, у меня нет python26, носкорее установлен Python 25 - это также может быть проблемой)
Изменилось его имя на " _mechanize_dist_backup " (полный путь теперь " C: \"Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist_backup")
Скопировал загруженный и распакованный файл" mechanize-0.2.2"в" C: \ Python25 \ Lib \ site-packages \ twill \ other_packages"(полный путь:" C: \ Python25 \ Lib \ site-packages \ twill \ other_packages \ mechanize-0.2.2")
Изменилось его имя на" _mechanize_dist"(полноепуть: " C: \ Python25 \ Lib \ site-packages \ twill \ other_packages_mechanize_dist ")
Скопирован " ClientForm " файл из " _mechanize_dist_backup"и вставил его в" _mechanize_dist"(на самом деле я нашел там два файла с именем" ClientForm": один является файлом Python, другой -скомпилированный файл Python - я скопировал и вставил их оба).
Сделав это, я попытался выполнить все эти команды и застрял в самом начале - я даже не смог импортироватьTwill сейчас:
IDLE 1.2.4
>>> import twill
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import twill
File "C:\Python25\Lib\site-packages\twill\__init__.py", line 52, in <module>
from shell import TwillCommandLoop
File "C:\Python25\Lib\site-packages\twill\shell.py", line 9, in <module>
from twill import commands, parse, __version__
File "C:\Python25\Lib\site-packages\twill\commands.py", line 7, in <module>
import _mechanize_dist as mechanize
ImportError: No module named _mechanize_dist
Кажется, что система не распознает недавно созданный " _mechanize_dist ".
Может быть, потому что у меня есть Python 25 вместо Python 26?Или, может быть, есть какая-то другая причина?