Every tick the rows get fresh random scores, the list re-sorts, and each row's DOM id is regenerated. A locator pinned to an id or an nth index will go stale the instant the next interval fires.
The data-player attribute is the one thing that survives the churn — anchor your tests to it and let the framework auto-retry.