There are many long distance bus stations in Shanghai. It is best to book tickets in advance.
The major bus stations are Beiqu Long-distance Passenger Station, Zhongshan Beilu Long-distance Passenger Transport Station, Xujiahui Passenger Station, Pudong Tangqiao Long-distance Passenger Station and Hengfeng Road Express Passenger Station.