потому что, если пишешь не одноразовые тесты, а для живого, меняющегося продукта, то нужно думать о будущем
зрелость автоматизатора определяется простотой поддержки и использования его кода
представь, что у тебя куча локаторов с индексами, потом добавляют фичу с новым блоком. и тебе нужно во всех этих локаторах менять индексы. А если ты привязываешься именно к блокам, то просто описываешь новый блок и не тратишь время на исправление старого кода