I am bit confused here,I encounter NotFoundException , Is it different from above two?
For Selenium Context, There is no ElementNotFoundException
The NotFoundException is a Super Class which includes the Sub Class NoSuchElementException.
To understand it more, we can say
NoSuchElementException extends NotFoundException
and
NotFoundException extends WebDriverException“
Your script will throw NoSuchElementException when
1. Element is not present in DOM – or may it never exists------------------>In this case you need to modify your findElement locator search
2. The page is still loading and you’ve already finished your WebElement search / AJAX Element has not returned yet on the page ------------------->The fix for this is to use WebDriverWait to wait for the element to appear (visibility and/or clickable)
3. Sometimes, wrong approach/missing steps in locating an element will also throw NoSuchElementException. For example, the user selects Country and javascript populates a City field. If you attempt to look for a city before you select a country, the city you are looking for does not exist --------------->To fix this you have to make sure the steps in your test are correct.
The other known subclasses of NotFoundException are:
–>NoAlertPresentException
–>NoSuchContextException
–>NoSuchFrameException
–>NoSuchWindowException .
We will further discuss these Subclasses as well. For now, I think you would be cleared with confusion
Thank you!
Thanks