Assign id to widget HTML block

Hi,

Is there a way to assign an id to the div block of a particular widget?

The context is the following: I am writing some automated tests to a Streamlit application and I would like to use the id to find specific input widgets. As far as I could see, they have a custom class (".stRadio", “.stSelectbox”, etc…), but this will be ambiguous if the same widget type appears more than once in the page.

Thanks in advance!

2 Likes

Does anyone has any input on this question? Thanks

Hello guys! I’d like to know an answer for this question. Could anyone help?

Hi, what library are you using for automated testing? If you’re using selenium or cypress, I think can’t you get all of the widgets with a regex and then search within the returned widgets by index for what you need?

Hi,

Thanks for the reply!

I am using selenium. Which type of regex you have in mind?

As I mentioned in the OP, I have to make a first selection using the class, then try to figure out from other attributes if the component is actually the one I want to interact or make assertions. This makes simple assertions, like “does the component exist in the layout after this interactions” very cumbersome.

I can see in my applications that the Streamlit components (of class “stSomething”) don’t have any ids assigned, and I imagine that this could be a fairly simple addition to the base components.

Edit: Ok, I have found the same feature request. Please :+1: it if you came looking for this.