python selenium模拟键盘_Robot Framework selenium操作键盘press keys方法详解(Python篇)

selenium键盘操作

在 Python 中,我们一般操作键盘用的是 Keys 方法,比如我们需要复制 id 为 xxx 输入框的内容,用 Python我们可以这样写。

Python

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

driver.find_element_by_id('xxx').send_keys(Keys.CONTROL, 'c')

1

2

3

4

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

driver.find_element_by_id('xxx').send_keys(Keys.CONTROL, 'c')

selenium 支持的键盘操作方法有很多种,以下是 Keys 类下所有可用的方法。

Python

class Keys(object):

"""

Set of special keys codes.

"""

NULL = '\ue000'

CANCEL = '\ue001'  # ^break

HELP = '\ue002'

BACKSPACE = '\ue003'

BACK_SPACE = BACKSPACE

TAB = '\ue004'

CLEAR = '\ue005'

RETURN = '\ue006'

ENTER = '\ue007'

SHIFT = '\ue008'

LEFT_SHIFT = SHIFT

CONTROL = '\ue009'

LEFT_CONTROL = CONTROL

ALT = '\ue00a'

LEFT_ALT = ALT

PAUSE = '\ue00b'

ESCAPE = '\ue00c'

SPACE = '\ue00d'

PAGE_UP = '\ue00e'

PAGE_DOWN = '\ue00f'

END = '\ue010'

HOME = '\ue011'

LEFT = '\ue012'

ARROW_LEFT = LEFT

UP = '\ue013'

ARROW_UP = UP

RIGHT = '\ue014'

ARROW_RIGHT = RIGHT

DOWN = '\ue015'

ARROW_DOWN = DOWN

INSERT = '\ue016'

DELETE = '\ue017'

SEMICOLON = '\ue018'

EQUALS = '\ue019'

NUMPAD0 = '\ue01a'  # number pad keys

NUMPAD1 = '\ue01b'

NUMPAD2 = '\ue01c'

NUMPAD3 = '\ue01d'

NUMPAD4 = '\ue01e'

NUMPAD5 = '\ue01f'

NUMPAD6 = '\ue020'

NUMPAD7 = '\ue021'

NUMPAD8 = '\ue022'

NUMPAD9 = '\ue023'

MULTIPLY = '\ue024'

ADD = '\ue025'

SEPARATOR = '\ue026'

SUBTRACT = '\ue027'

DECIMAL = '\ue028'

DIVIDE = '\ue029'

F1 = '\ue031'  # function  keys

F2 = '\ue032'

F3 = '\ue033'

F4 = '\ue034'

F5 = '\ue035'

F6 = '\ue036'

F7 = '\ue037'

F8 = '\ue038'

F9 = '\ue039'

F10 = '\ue03a'

F11 = '\ue03b'

F12 = '\ue03c'

META = '\ue03d'

COMMAND = '\ue03d'

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

class Keys(object):

"""

Set of special keys codes.

"""

NULL = '\ue000'

CANCEL = '\ue001'  # ^break

HELP = '\ue002'

BACKSPACE = '\ue003'

BACK_SPACE = BACKSPACE

TAB = '\ue004'

CLEAR = '\ue005'

RETURN = '\ue006'

ENTER = '\ue007'

SHIFT = '\ue008'

LEFT_SHIFT = SHIFT

CONTROL = '\ue009'

LEFT_CONTROL = CONTROL

ALT = '\ue00a'

LEFT_ALT = ALT

PAUSE = '\ue00b'

ESCAPE = '\ue00c'

SPACE = '\ue00d'

PAGE_UP = '\ue00e'

PAGE_DOWN = '\ue00f'

END = '\ue010'

HOME = '\ue011'

LEFT = '\ue012'

ARROW_LEFT = LEFT

UP = '\ue013'

ARROW_UP = UP

RIGHT = '\ue014'

ARROW_RIGHT = RIGHT

DOWN = '\ue015'

ARROW_DOWN = DOWN

INSERT = '\ue016'

DELETE = '\ue017'

SEMICOLON = '\ue018'

EQUALS = '\ue019'

NUMPAD0 = '\ue01a'  # number pad keys

NUMPAD1 = '\ue01b'

NUMPAD2 = '\ue01c'

NUMPAD3 = '\ue01d'

NUMPAD4 = '\ue01e'

NUMPAD5 = '\ue01f'

NUMPAD6 = '\ue020'

NUMPAD7 = '\ue021'

NUMPAD8 = '\ue022'

NUMPAD9 = '\ue023'

MULTIPLY = '\ue024'

ADD = '\ue025'

SEPARATOR = '\ue026'

SUBTRACT = '\ue027'

DECIMAL = '\ue028'

DIVIDE = '\ue029'

F1 = '\ue031'  # function  keys

F2 = '\ue032'

F3 = '\ue033'

F4 = '\ue034'

F5 = '\ue035'

F6 = '\ue036'

F7 = '\ue037'

F8 = '\ue038'

F9 = '\ue039'

F10 = '\ue03a'

F11 = '\ue03b'

F12 = '\ue03c'

META = '\ue03d'

COMMAND = '\ue03d'

selenium 里面几乎覆盖了所有的键盘操作,那 Robot Framework 怎么进行键盘操作呢?

Robot Framework键盘操作

Robot Framework 框架里导入 Selenium2Library 包,Selenium2Library里封装了 press keys 关键字,press keys 关键字格式如下:

Python

Arguments: [ locator=locator | *keys ]

1

Arguments: [ locator=locator | *keys ]

第一个参数是给出需要操作元素的路径,第二个就是我们要操作的 keys,比如我对百度输入框进行操作,通过模拟键盘输入数字和空格,就可以如下这样写。

输入字符串

一般字符串输入字符串即可。

格式:

Python

Press Keys locator=locator string

1

Press Keys locator=locator string

如果需要输入键盘上存在的字符串,需要用「+」隔开。

格式:

Python

Press Keys locator=locator E+N+T+E+R

1

Press Keys locator=locator E+N+T+E+R

比如你要输入的位置上输入 ENTER 字符串,通过键盘模拟,字符串之间必须加上「+」连接符,不加的话,就是执行键盘上按键对应的操作,Enter 键就是回车确认的操作。

比如在百度输入框输入 ENTER 字符串。

Python

Press Keys    id=kw    E+N+T+E+R

1

Press Keys    id=kw    E+N+T+E+R

当然,输入框输入文本你也可以用 RF 框架中的 Input Text 关键字。

封面图:Pixabay

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值