I would also go the same way as the link you posted above. You don't need to automate clicking the "Update Names" if you can replicate it's function yourself. I think a pseudocode would look like this:
foreach circuit in circuits
originalLoadName = circuit.LoadName
potentialNewName = ""
elementsFromCircuit = circuit.Elements
foreach element in elementsFromCircuit
elementSpaceName = element.Space.Name
elementSpaceNumber = element.Space.Number
potentialNewName+=$"{elementSpaceName} {elementSpaceNumber},"
if(originalLoadName ==potentialNewName)
print("no elements were moved")
else
#add circuit to a list of changed circuits to further analysis
I mean, there are nuances, like, if only one space is found, the Load Name will be [Load Type] [SpaceName] [Space Number], and if there is more than one, the name will be [Load Type] [SpaceNumber1] [Space Number2] [Space NumberX]
but I think it's way more convenient than to work with PostCommand and JournalFiles etc...