Is there a reason why “The children have been playing several hours” isn’t accepted? To my ear this is completely synonymous in English with “…have been playing for several hours.”
If both "have played" and "have been playing" are accepted, does that mean that from this sentence you can't tell whether the children are still playing?
It’s true. Swedish doesn’t have a true progressive aspect like English, that is there is no difference between drinks/is drinking or have played/have been playing.