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
U
[±d¬ ã@sŠddlmZddlmZddlmZddlmZddlmZddl    m
Z
ddl m Z dd    l mZdd
lmZdd lmZGd d „d ƒZdS)é)ÚList)ÚUnion)ÚCommandé)Ú interaction)Ú
KeyActions)ÚKeyInput)ÚPointerActions)Ú PointerInput)Ú WheelActions)Ú
WheelInputc@säeZdZdddœdd„Zeddœdd„Zeeedœd    d
„ƒZ    eee
dœd d „ƒZ ee dœd d„ƒZ eedœdd„ƒZeedœdd„ƒZe
dœdd„Zedœdd„Zedœdd„Zddœdd„Zddœdd„Zddœdd„ZdS) Ú ActionBuilderNéú)ÚreturncCsd|sttjdƒ}|sttjƒ}|s,ttjƒ}|||g|_t|ƒ|_    t
||d|_ t |ƒ|_ ||_dS)NÚmouse)Úduration)r
rZ POINTER_MOUSErÚKEYr ZWHEELÚdevicesrÚ _key_actionr    Ú_pointer_actionr Ú _wheel_actionÚdriver)ÚselfrrÚwheelZkeyboardr©rúgd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\selenium/webdriver/common/actions/action_builder.pyÚ__init__!s 
 
 
 
zActionBuilder.__init__)r r
rcstt‡fdd„|jƒdƒS)Ncs|ˆkS©Nr)Úx©ÚnamerrÚ<lambda>/óz/ActionBuilder.get_device_with.<locals>.<lambda>)ÚnextÚfilterr)rr rrrÚget_device_with.szActionBuilder.get_device_withcCsdd„|jDƒS)NcSsg|]}|jtjkr|‘qSr)ÚtyperÚPOINTER©Ú.0ÚdevicerrrÚ
<listcomp>3s z0ActionBuilder.pointer_inputs.<locals>.<listcomp>©r©rrrrÚpointer_inputs1szActionBuilder.pointer_inputscCsdd„|jDƒS)NcSsg|]}|jtjkr|‘qSr)r&rrr(rrrr+7s z,ActionBuilder.key_inputs.<locals>.<listcomp>r,r-rrrÚ
key_inputs5szActionBuilder.key_inputscCs|jSr)rr-rrrÚ
key_action9szActionBuilder.key_actioncCs|jSr)rr-rrrÚpointer_action=szActionBuilder.pointer_actioncCs|jSr)rr-rrrÚ wheel_actionAszActionBuilder.wheel_actioncCst|ƒ}| |¡|Sr)rÚ
_add_input©rr Ú    new_inputrrrÚ add_key_inputEs
zActionBuilder.add_key_inputcCst||ƒ}| |¡|Sr)r
r3)rÚkindr r5rrrÚadd_pointer_inputJs
 
zActionBuilder.add_pointer_inputcCst|ƒ}| |¡|Sr)r r3r4rrrÚadd_wheel_inputOs
zActionBuilder.add_wheel_inputcCsLdgi}|jD](}| ¡}|dr|d |¡g|_q|j tj|¡dS)NÚactions)rÚencodeÚappendr:rÚexecuterZ W3C_ACTIONS)rÚencr*ÚencodedrrrÚperformTs
zActionBuilder.performcCs|j tj¡dS)z9Clears actions that are already stored on the remote end.N)rr=rZW3C_CLEAR_ACTIONSr-rrrÚ clear_actions]szActionBuilder.clear_actionscCs|j |¡dSr)rr<)rr5rrrr3aszActionBuilder._add_input)NNNr)Ú__name__Ú
__module__Ú __qualname__rrr%Úpropertyrr
r.rr/rr0r    r1r r2r6r8r r9r@rAr3rrrrr  s$     r N)ÚtypingrrZ!selenium.webdriver.remote.commandrÚrZ key_actionsrZ    key_inputrZpointer_actionsr    Z pointer_inputr
Z wheel_actionsr Z wheel_inputr r rrrrÚ<module>s