I see a lot of people complaining about Cersei not attacking Danny and her mini crew
Qyburn tells Cersei she has the support of the common people in Kings Landing. They support her claim, even though the Targaryen should have the stronger claim, they see Dany as an outsider and invader.
Cersei doesn't just want the support of the common people, she wants the support of the Seven Kingdoms and all the important Lords that hold power throughout the land. So she proceeds to tell Qyburn "open the gates to the Red Keep, if [Daenerys] wants the Iron Throne, she'll have to burn thousands of innocents on her way here" (not an exact quote as I don't remember the exact phrasing, but go watch the scene yourself)
She certainly could've ballistae'd them down when they were there to parlay, it's not like morality is holding her back. It's that she'll be able to solidify the support of the common people and inspire the support of the powerful Lords throughout the land if she gets Dany to kill innocents first. This is important. The Crown is severely in debt, and even after killing "the invaders", one needs to build allies in order to survive. This may be her best shot at improving her own image and the positioning of the Crown relative to the Iron Bank and other powers within Westeros.
This is also why she executed Missandei in that scene. Other than the fact that Cersei's just evil and cruel, that move was intended to provoke Dany into ruining her reputation in Kings Landing while rebranding Cersei as the saviour of the people by having her go on a blood-thirsty rampage (which is what everything is pointing to in Episode 5) before killing her off.