3

pexpectを使用して、上、下、左、右のキーなどのカーソルの動きを送信するにはどうすればよいですか。以下の例は、上/下キーを使用してページ上のさまざまなリンクを選択するelinksを自動化するためのものです。

from pexpect import spawn
child = spawn('elinks http://python.org')
#what goes here to send down key
child.interact()
4

3 に答える 3

5

以下のスクリプトには、4つのカーソル移動すべてのコードがあり、pexpectでどのように使用するかの例が示されています。入力されたテキストの正確な文字列シーケンスを見つけるには、以下のget_keys.pyスクリプトを使用できます。

KEY_UP = '\x1b[A'
KEY_DOWN = '\x1b[B'
KEY_RIGHT = '\x1b[C'
KEY_LEFT = '\x1b[D'
child.sendline(KEY_DOWN * 5)  #send five key downs

get_keys.py

import curses
screen = curses.initscr()

screen.addstr("Press any set of keys then press enter\n") 
keys = ''
while True:
   event = screen.getkey()
   if event == "\n":
       break
   keys += event

curses.endwin()
print repr(keys)
于 2012-10-19T20:57:48.650 に答える
3

このようにup(^ [[A)またはdown(^ [[B)にエスケープシーケンスを使ってみませんか。

child.send("\033[A")  # up
child.send("\033[B")  # down
于 2012-10-19T20:42:49.290 に答える
0

ダウンキーの場合は、この送信'\ 033 \ 117\102'を試してください

于 2021-11-09T02:38:38.430 に答える