Как войти в систему веб-сайта с помощью установленного твила?

Я только что успешно установил ТВИЛ на своем компьютере с помощью одного очень поддерживающего члена "StackOverflow" (можно проверить его здесь), и попытались выполнить один из простых примеров на странице документации твила (Вы видите ту страницу HERE). Вот то, что пример:

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

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

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

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

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

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

Может кто-либо, помогает мне с этим?

6
задан Glorfindel 23 July 2019 в 19:15
поделиться

3 ответа

Вам нужно запускать эти команды внутри оболочки twill вместо оболочки python

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

 -= Welcome to twill! =-

current page:  *empty page*
>>

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

или есть только 2 строки в файле twill-sh

import twill.shell
twill.shell.main()

вы можете просто скопировать и вставить эти 2 строки в приглашение python.

>>> 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*
>>
4
ответ дан 17 December 2019 в 00:06
поделиться

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

установить локальное имя пользователя lynxye

.

0
ответ дан 17 December 2019 в 00:06
поделиться

Вот и все:

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

3
ответ дан 17 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: