Frage

Ich habe gerade erfolgreich installiert TWILL auf meinem Computer mit Hilfe eines sehr unterstützende Mitglied der „Stackoverflow“ (Sie können es aus HIER ). Hier ist das Beispiel:


(Quelle: narod.ru )

sagen wir meinen Benutzernamen auf www.slash.org ist lynxye und mein Passwort ist säugetier . Wenn ich versuche, diesen Beispiel-Code in meinen Python-Prompt eingeben, kann ich nur geben und die erste Zeile der Codes eingeben, denn wenn ich auf „Enter“, um eine neue Zeile zu beginnen, ich sofort einige Fehlermeldungen erhalten:


(Quelle: narod.ru )

Das gleiche passiert, wenn ich versuche, diesen Code in meinen Terminal eingeben:


(Quelle: narod.ru )

Ich glaube, ich hier auf einige Grundlagen fehlen. Vielleicht brauche ich eine Datei zu erstellen, den Code enthalten würde und führen Sie dann die Datei irgendwie, aber ich weiß wirklich nicht, wo ich diese Datei erstellen muß und mit welcher extensdion.

Kann mir jemand bitte helfen Sie mir mit diesem?

War es hilfreich?

Lösung

Sie müssen diese Befehle in Twill-Shell anstelle von Python-Shell laufen

D:\tmp\twill-0.9>python twill-sh

 -= Welcome to twill! =-

current page:  *empty page*
>>

Sie können Twill-Befehle setzen, wenn Sie sehen >>

oder gibt es 2 nur Linien in Twill-sh-Datei

import twill.shell
twill.shell.main()

Sie können kopieren nur, dass zwei Zeilen Python einfügen prompt.

>>> import twill.shell
>>> twill.shell.main()

 -= Welcome to twill! =-

current page:  *empty page*
>> ?

Undocumented commands:
======================
add_auth             fa           info             save_html           title
add_extra_header     find         load_cookies     setglobal           url
agent                follow       notfind          setlocal
back                 formaction   redirect_error   show
clear_cookies        formclear    redirect_output  show_cookies
clear_extra_headers  formfile     reload           show_extra_headers
code                 formvalue    reset_browser    showforms
config               fv           reset_error      showhistory
debug                get_browser  reset_output     showlinks
echo                 getinput     run              sleep
exit                 getpassword  runfile          submit
extend_with          go           save_cookies     tidy_ok

current page:  *empty page*
>>

Andere Tipps

Das wird es tun:

>>> import twill.commands
>>> import re
>>> 
>>> class browser:
...    def __init__(self, url="http://www.slashdot.org"):
...       self.a=twill.commands
...       self.a.config("readonly_controls_writeable", 1)
...       self.b = self.a.get_browser()
...       self.b.set_agent_string("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14")
...       self.b.clear_cookies()
...       self.url=url
...    def slashdot(self, loginName, passwd):
...       self.b.go(self.url)
...       f = self.b.get_form("1")
...       regexp = re.compile("Log In")
...       link = self.b.find_link(regexp)
...       if link:
...          self.b.follow_link(link)
...          f=self.b.get_form("2")
...          f["unickname"] = loginName
...          f["upasswd"] = passwd 
...          self.a.fv("2", "userlogin", "") 
... 
>>> 
>>> t=browser()
>>> t.slashdot("username", "password")
==> at http://slashdot.org/
==> at http://slashdot.org/my/login
forcing read-only form field to writeable  
>>>

Es ist auch einfacher, wenn Sie BeautifulSoup verwenden analysieren die html

Die spitzen Klammern sind nicht wörtlich eingegeben werden soll; Sie sind nur da, um anzuzeigen, Sie einen Wert eingeben soll. Versuchen

setlocal username lynxye

statt.

Das ist nicht die Art und Weise prompt zu verwenden.

Sie müssen Schlüssel-Wert-Paar in Klammern einzuschließen. Wie,

setlocal ( 'uname', 'xyz')

setlocal ( 'Passwort', '123')

gehen ( ' http://abc.org ')

fv ( '1', 'foo', 'bar')

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top