Как войти на сайт, использующий установленные Twill?

StackOverflow https://stackoverflow.com/questions/2680185

  •  30-09-2019
  •  | 
  •  

Вопрос

Я только что успешно установил Твиль на моем компьютере с помощью одного очень поддерживающего участника «Stackoverflow» (вы можете проверить это ЗДЕСЬ) и попытался запустить один из простых примеров на странице документации Twild (вы можете увидеть эту страницу ЗДЕСЬ). Вот что пример:

alt text
(источник: narod.ru.)

Допустим, мое имя пользователя на www.slash.org. является Линсиэ и мой пароль млекопитающее. Отказ Когда я пытаюсь войти в этот пример код в мою подсказку Python, я могу вводить только и ввести только первую строку кода, потому что когда я нажимаю на «Enter», чтобы начать новую строку, я сразу же получаю несколько сообщений об ошибках:

alt text
(источник: narod.ru.)

То же самое происходит, когда я пытаюсь ввести этот код в мой терминал:

alt text
(источник: narod.ru.)

Я думаю, что я пропустил некоторые основы здесь. Возможно, мне нужно создать файл, который будет содержать этот код, а затем запускать этот файл как-то, но я действительно не знаю, где мне нужно создать этот файл и с каким расширением.

Кто-нибудь может, пожалуйста, помогите мне с этим?

Это было полезно?

Решение

Вам необходимо запустить эти команды внутри оболочки Twill, вместо Shell Python

D:\tmp\twill-0.9>Python Twill-Sh

 -= Welcome to twill! =-

current page:  *empty page*
>>

Вы можете поставить команды Twill, когда вы видите >>

Или есть 2 только строки в Twill-Sh File

import twill.shell
twill.shell.main()

Вы можете просто скопировать вставить эту 2 строки в подсказку Python.

>>> Импорт 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*
>>

Другие советы

Это сделает это:

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

Также проще, если вы используете BeautifulSoup для анализа HTML

Угольные скобки не должны вводиться буквально; Они просто там, чтобы указать, что вы должны ввести значение. Пытаться

setlocal username lynxye

вместо.

Это не способ использования в подсказке.

Вам нужно приложить пару клавиш в скобках. Нравиться,

Сетлокал («немали», «XYZ»)

SetLocal («пароль», «123»)

идти('http://abc.org.')

FV ('1', 'foo', 'bar')

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top