Pregunta

Me acaba de instalar con éxito TWILL en mi ordenador con la ayuda de un miembro muy a favor de "stackoverflow" (se puede comprobar que funciona AQUÍ ) y han tratado de ejecutar uno de los ejemplos simples en la página de documentación de sarga (se puede ver que la página aquí ). Aquí está el ejemplo:

texto alternativo ??
(fuente: narod.ru )

Digamos que mi nombre de usuario en www.slash.org es lynxye y mi contraseña es mamífero . Cuando trato de entrar en ese código de ejemplo en mi prompt de Python, sólo puedo escribir y entrar en la primera línea del código, porque cuando hago clic en "Enter" para iniciar una nueva línea, consigo algunos mensajes de error de inmediato:

texto alternativo ??
(fuente: narod.ru )

Lo mismo sucede cuando intento introducir este código en mi terminal:

texto alternativo ??
(fuente: narod.ru )

creo que no paso a algunos conceptos básicos aquí. Tal vez, lo que necesito para crear un archivo que contenga ese código y luego ejecutar ese archivo de alguna manera, pero realmente no sé dónde tengo que crear ese archivo y con qué extensdion.

Puede alguien, por favor, que me ayude con esto?

¿Fue útil?

Solución

Tiene que ejecutar esos comandos en el interior de la tela cruzada de la cáscara, en vez de Python Shell

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

 -= Welcome to twill! =-

current page:  *empty page*
>>

Usted puede poner la tela cruzada de los comandos cuando se ve >>

o hay sólo 2 líneas en el archivo de sarga-sh

import twill.shell
twill.shell.main()

sólo se puede copiar y pegar que las líneas 2 a Python del sistema.

>>> 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*
>>

Otros consejos

Esto lo hará:

>>> 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  
>>>

También es más fácil si utiliza BeautifulSoup para analizar el código HTML

Los corchetes angulares no están destinados a ser introducido literalmente; que están ahí para indicar que debe introducir un valor. Trate

setlocal username lynxye

en su lugar.

Esa no es la manera de utilizar en el símbolo.

Se necesita para encerrar par clave-valor entre paréntesis. Al igual que,

setlocal ( 'uname', 'xyz')

setlocal ( 'password', '123')

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top