@@ -4837,6 +4837,7 @@ def __process_recorded_actions(self):
48374837 ext_actions.append("js_cl")
48384838 ext_actions.append("js_ca")
48394839 ext_actions.append("js_ty")
4840+ ext_actions.append("s_val")
48404841 ext_actions.append("jq_cl")
48414842 ext_actions.append("jq_ca")
48424843 ext_actions.append("jq_ty")
@@ -4927,6 +4928,11 @@ def __process_recorded_actions(self):
49274928 for n in range(len(srt_actions)):
49284929 if srt_actions[n][0] == "ch_cl":
49294930 srt_actions[n][0] = "js_cl"
4931+ for n in range(len(srt_actions)):
4932+ if srt_actions[n][0] == "s_val":
4933+ srt_actions[n][0] = "set_v"
4934+ srt_actions[n][2] = srt_actions[n][1][1]
4935+ srt_actions[n][1] = srt_actions[n][1][0]
49304936
49314937 # Generate the script from processed actions
49324938 sb_actions = recorder_helper.generate_sbase_code(srt_actions)
@@ -7496,19 +7502,23 @@ def set_value(
74967502 css_selector = re.escape(css_selector) # Add "\\" to special chars
74977503 css_selector = self.__escape_quotes_if_needed(css_selector)
74987504 the_type = None
7505+ if ":contains\\(" not in css_selector:
7506+ get_type_script = (
7507+ """return document.querySelector('%s').getAttribute('type');"""
7508+ % css_selector
7509+ )
7510+ the_type = self.execute_script(get_type_script) # Used later
74997511 if self.recorder_mode and self.__current_url_is_recordable():
75007512 if self.get_session_storage_item("pause_recorder") == "no":
75017513 time_stamp = self.execute_script("return Date.now();")
75027514 origin = self.get_origin()
75037515 sel_tex = [pre_escape_css_selector, text]
7504- action = ["js_ty", sel_tex, origin, time_stamp]
7516+ if the_type == "range" and ":contains\\(" not in css_selector:
7517+ action = ["s_val", sel_tex, origin, time_stamp]
7518+ else:
7519+ action = ["js_ty", sel_tex, origin, time_stamp]
75057520 self.__extra_actions.append(action)
75067521 if ":contains\\(" not in css_selector:
7507- get_type_script = (
7508- """return document.querySelector('%s').getAttribute('type');"""
7509- % css_selector
7510- )
7511- the_type = self.execute_script(get_type_script) # Used later
75127522 script = """document.querySelector('%s').value='%s';""" % (
75137523 css_selector,
75147524 value,
0 commit comments