How to get selectors with dynamic part inside using Selenium with Python?

To identify an element with dynamic id e.g. #tab-t0-1 where 0 is a dynamic number and everything else is static you can use cssSelector with the following wildcards :

  • ^ : To indicate an attribute value starts with

  • $ : To indicate an attribute value ends with

So the most granular locator would include the strategy to lookout for the initial letters i.e. tab-t and the ending letters i.e. -1 and should be :

[id^='tab-t'][id$='-1']

References

You can find a couple of relevant detailed discussions in:

Leave a Comment