Why were there no actresses in Shakespeare's plays?
The reason that there were no actresses in Shakespeare's plays is that it was the convention of the time. There were two types of theatres, public and private. During this period, plays in the private theatres were preformed by young boys whereas in the public theatres they were performed by men with boys playing young females.
This convention perhaps goes back to the Greek theatre which was all male. The cycle plays of the Middle Ages were performed by the guilds which were also all male. It would seem then that the tradition of all male casts was passed down in theatre history.
Also, the public theatres were located outside the city limits in the red light district across the Thames from the city. This was a dangerous area with pimps, prostitutes, cut purses, and an assortment of unsavory characters.
It was only when the theatres reopened after the Commonwealth, that the old theatrical convention of no females on stage changed.