@@ -845,7 +845,6 @@ def press_key(self, locator, key):
845
845
def press_keys (self , locator = None , * keys ):
846
846
"""Simulates the user pressing key(s) to an element or on the active browser.
847
847
848
-
849
848
If ``locator`` evaluates as false, see `Boolean arguments` for more
850
849
details, then the ``keys`` are sent to the currently active browser.
851
850
Otherwise element is searched and ``keys`` are send to the element
@@ -898,22 +897,18 @@ def press_keys(self, locator=None, *keys):
898
897
self ._press_keys (locator , parsed_keys )
899
898
900
899
def _press_keys (self , locator , parsed_keys ):
901
- if is_truthy (locator ):
902
- element = self .find_element (locator )
903
- else :
904
- element = None
900
+ element = self .find_element (locator ) if is_truthy (locator ) else None
905
901
for parsed_key in parsed_keys :
906
902
actions = ActionChains (self .driver )
907
- special_keys = []
908
903
for key in parsed_key :
909
- if self ._selenium_keys_has_attr (key .original ):
910
- special_keys = self ._press_keys_special_keys (actions , element , parsed_key ,
911
- key , special_keys )
904
+ if key .special :
905
+ self ._press_keys_special_keys (actions , element , parsed_key , key )
912
906
else :
913
907
self ._press_keys_normal_keys (actions , element , key )
914
- for special_key in special_keys :
915
- self .info ('Releasing special key %s.' % special_key .original )
916
- actions .key_up (special_key .converted )
908
+ for key in parsed_key :
909
+ if key .special :
910
+ self .info ('Releasing special key %s.' % key .original )
911
+ actions .key_up (key .converted )
917
912
actions .perform ()
918
913
919
914
def _press_keys_normal_keys (self , actions , element , key ):
@@ -923,7 +918,7 @@ def _press_keys_normal_keys(self, actions, element, key):
923
918
else :
924
919
actions .send_keys (key .converted )
925
920
926
- def _press_keys_special_keys (self , actions , element , parsed_key , key , special_keys ):
921
+ def _press_keys_special_keys (self , actions , element , parsed_key , key ):
927
922
if len (parsed_key ) == 1 and element :
928
923
self .info ('Pressing special key %s to element.' % key .original )
929
924
actions .send_keys_to_element (element , key .converted )
@@ -933,8 +928,6 @@ def _press_keys_special_keys(self, actions, element, parsed_key, key, special_ke
933
928
else :
934
929
self .info ('Pressing special key %s down.' % key .original )
935
930
actions .key_down (key .converted )
936
- special_keys .append (key )
937
- return special_keys
938
931
939
932
@keyword
940
933
def get_all_links (self ):
0 commit comments