title: Is it best practice to use Thread.sleep() or explicit wait before click on any element in selenium web driver
body: <p>I am new to web driver and I wrote a selenium script for web application which contains backbone.js and select2.</p>
  
  <p>I used to get NosuchElementException and Element is not clickable exceptions often. So I have decided to script as below,
   - before clicking on any element, it will wait for existence of element using explicit wait.
  i.e before clicking any element , it will wait until the element is loaded.</p>
  
  <p>Is it best practice to wait for each element before clicking? </p>