For simply content scraping without JavaScript and ajax content try scrapy for best practices. Scrapy uses Python classes by default as it is a Python framework.
Easy tutorial to learn Scrapy:
Selenium is good for scraping dynamic content and causes unnecessary overhead as mentioned in above answer.
For above code:
Try avoiding time.sleep
and use EC.presence_of_element_located
and similar functions to obtain desired behavior. Selenium Waits