In this chapter, we have had a look at the common, and some not so common exceptions that you are likely to see on your automation journey. This should have helped you to see that exceptions are actually really useful, and can provide a great deal of insight as to what has gone wrong with your automated checks.
After reading through this chapter you should have understood that exceptions are actually trying to tell you something. When you look at commonly thrown exceptions you should now be able to quickly diagnose the root cause of the issue. You should have an understanding of the basic architecture of Selenium and how it send commands over to the browser. You will also understand how WebElement is a reference to a specific element in the DOM, and how it can become stale.
In the next chapter, we will have a look at the various wait solutions in Selenium. We will...