@@ -822,6 +822,10 @@ def get_by_text_selector(text: Union[str, Pattern[str]], exact: bool = None) ->
822822 return "internal:text=" + escape_for_text_selector (text , exact = exact )
823823
824824
825+ def bool_to_js_bool (value : bool ) -> str :
826+ return "true" if value else "false"
827+
828+
825829def get_by_role_selector (
826830 role : AriaRole ,
827831 checked : bool = None ,
@@ -836,15 +840,15 @@ def get_by_role_selector(
836840) -> str :
837841 props : List [Tuple [str , str ]] = []
838842 if checked is not None :
839- props .append (("checked" , str (checked )))
843+ props .append (("checked" , bool_to_js_bool (checked )))
840844 if disabled is not None :
841- props .append (("disabled" , str (disabled )))
845+ props .append (("disabled" , bool_to_js_bool (disabled )))
842846 if selected is not None :
843- props .append (("selected" , str (selected )))
847+ props .append (("selected" , bool_to_js_bool (selected )))
844848 if expanded is not None :
845- props .append (("expanded" , str (expanded )))
849+ props .append (("expanded" , bool_to_js_bool (expanded )))
846850 if includeHidden is not None :
847- props .append (("include-hidden" , str (includeHidden )))
851+ props .append (("include-hidden" , bool_to_js_bool (includeHidden )))
848852 if level is not None :
849853 props .append (("level" , str (level )))
850854 if name is not None :
@@ -857,6 +861,6 @@ def get_by_role_selector(
857861 )
858862 )
859863 if pressed is not None :
860- props .append (("pressed" , str (pressed )))
864+ props .append (("pressed" , bool_to_js_bool (pressed )))
861865 props_str = "" .join ([f"[{ t [0 ]} ={ t [1 ]} ]" for t in props ])
862866 return f"internal:role={ role } { props_str } "
0 commit comments