История изменений
Исправление vvn_black, (текущая версия) :
А чего код не покажешь?
Коды клавиш зависят от терминала, вот, рабочий пример для xterm
:
import os
import pexpect
import time
KEYS = {
'DOWN': '\033[B',
'RIGHT': '\033[C',
'ENTER': '\r'
}
...
os.environ['TERM'] = 'xterm'
os.environ['LINES'] = '25'
os.environ['COLUMNS'] = '80'
term = pexpect.spawn('telnet {hostname}'.format(hostname=hostname))
term.expect('login: ')
term.sendline(login)
term.expect('password:')
term.sendline(password)
term.expect(matching_string)
term.send(KEYS['DOWN])
time.sleep(1)
term.send(KEYS['RIGHT])
time.sleep(1)
term.send(KEYS['RIGHT])
time.sleep(1)
term.send(KEYS['DOWN])
time.sleep(1)
term.send(KEYS['ENTER])
time.sleep(1)
...
Код коннектится к серверу hostname, ожидает увидеть на экране совпадение с matching_string и эмулирует проход по менюшкам - вниз, вправо, вправо, вниз и ентер.
Исходная версия vvn_black, :
А чего код не покажешь?
Коды клавиш зависят от терминала, вот, рабочий пример для xterm
:
import os
import pexpect
import time
KEYS = {
'DOWN': '\033[B',
'RIGHT': '\033[C',
'ENTER': '\r'
}
...
os.environ['TERM'] = 'xterm'
os.environ['LINES'] = '25'
os.environ['COLUMNS'] = '80'
term = pexpect.spawn('telnet {hostname}'.format(hostname=hostname)
term.expect('login: ')
term.sendline(login)
term.expect('password:')
term.sendline(password)
term.expect(matching_string)
term.send(KEYS['DOWN])
time.sleep(1)
term.send(KEYS['RIGHT])
time.sleep(1)
term.send(KEYS['RIGHT])
time.sleep(1)
term.send(KEYS['DOWN])
time.sleep(1)
term.send(KEYS['ENTER])
time.sleep(1)
...
Код коннектится к серверу hostname, ожидает увидеть на экране совпадение с matching_string и эмулирует проход по менюшкам - вниз, вправо, вправо, вниз и ентер.