MCPcopy Create free account
hub / github.com/seleniumbase/SeleniumBase / press_keys

Method press_keys

seleniumbase/fixtures/base_case.py:1135–1183  ·  view source on GitHub ↗

Use send_keys() to press one key at a time.

(self, selector, text, by="css selector", timeout=None)

Source from the content-addressed store, hash-verified

1133 self.add_text(selector, text, by=by, timeout=timeout)
1134
1135 def press_keys(self, selector, text, by="css selector", timeout=None):
1136 """Use send_keys() to press one key at a time."""
1137 if self.__is_cdp_swap_needed():
1138 self.cdp.press_keys(selector, text, timeout=timeout)
1139 return
1140 self.wait_for_ready_state_complete()
1141 element = self.wait_for_element_present(
1142 selector, by=by, timeout=timeout
1143 )
1144 if self.demo_mode:
1145 selector, by = self.__recalculate_selector(selector, by)
1146 css_selector = self.convert_to_css_selector(selector, by=by)
1147 self.__demo_mode_highlight_if_active(css_selector, By.CSS_SELECTOR)
1148 if self.recorder_mode and self.__current_url_is_recordable():
1149 if self.get_session_storage_item("pause_recorder") == "no":
1150 css_selector = self.convert_to_css_selector(selector, by=by)
1151 time_stamp = self.execute_script("return Date.now();")
1152 origin = self.get_origin()
1153 sel_tex = [css_selector, text]
1154 action = ["pkeys", sel_tex, origin, time_stamp]
1155 self.__extra_actions.append(action)
1156 press_enter = False
1157 if text.endswith("\n"):
1158 text = text[:-1]
1159 press_enter = True
1160 for key in text:
1161 element.send_keys(key)
1162 if press_enter:
1163 if self.slow_mode or self.demo_mode:
1164 self.__demo_mode_pause_if_active(tiny=True)
1165 else:
1166 time.sleep(0.0135)
1167 element.send_keys(Keys.RETURN)
1168 if settings.WAIT_FOR_RSC_ON_PAGE_LOADS:
1169 if not self.undetectable:
1170 self.wait_for_ready_state_complete()
1171 else:
1172 time.sleep(0.15)
1173 if self.demo_mode:
1174 if press_enter:
1175 self.__demo_mode_pause_if_active()
1176 else:
1177 self.__demo_mode_pause_if_active(tiny=True)
1178 elif self.slow_mode:
1179 self.__slow_mode_pause_if_active()
1180 elif self.__needs_minimum_wait():
1181 time.sleep(0.05)
1182 if self.undetectable:
1183 time.sleep(0.02)
1184
1185 def submit(self, selector, by="css selector"):
1186 """Alternative to self.driver.find_element_by_*(SELECTOR).submit()"""

Callers 1

press_keysFunction · 0.45

Tested by

no test coverage detected