@@ -822,6 +822,10 @@ def get_by_text_selector(text: Union[str, Pattern[str]], exact: bool = None) ->
822
822
return "internal:text=" + escape_for_text_selector (text , exact = exact )
823
823
824
824
825
+ def bool_to_js_bool (value : bool ) -> str :
826
+ return "true" if value else "false"
827
+
828
+
825
829
def get_by_role_selector (
826
830
role : AriaRole ,
827
831
checked : bool = None ,
@@ -836,15 +840,15 @@ def get_by_role_selector(
836
840
) -> str :
837
841
props : List [Tuple [str , str ]] = []
838
842
if checked is not None :
839
- props .append (("checked" , str (checked )))
843
+ props .append (("checked" , bool_to_js_bool (checked )))
840
844
if disabled is not None :
841
- props .append (("disabled" , str (disabled )))
845
+ props .append (("disabled" , bool_to_js_bool (disabled )))
842
846
if selected is not None :
843
- props .append (("selected" , str (selected )))
847
+ props .append (("selected" , bool_to_js_bool (selected )))
844
848
if expanded is not None :
845
- props .append (("expanded" , str (expanded )))
849
+ props .append (("expanded" , bool_to_js_bool (expanded )))
846
850
if includeHidden is not None :
847
- props .append (("include-hidden" , str (includeHidden )))
851
+ props .append (("include-hidden" , bool_to_js_bool (includeHidden )))
848
852
if level is not None :
849
853
props .append (("level" , str (level )))
850
854
if name is not None :
@@ -857,6 +861,6 @@ def get_by_role_selector(
857
861
)
858
862
)
859
863
if pressed is not None :
860
- props .append (("pressed" , str (pressed )))
864
+ props .append (("pressed" , bool_to_js_bool (pressed )))
861
865
props_str = "" .join ([f"[{ t [0 ]} ={ t [1 ]} ]" for t in props ])
862
866
return f"internal:role={ role } { props_str } "
0 commit comments