Book Image

Mastering Selenium WebDriver 3.0 - Second Edition

Book Image

Mastering Selenium WebDriver 3.0 - Second Edition

Overview of this book

The second edition of Mastering Selenium 3.0 WebDriver starts by showing you how to build your own Selenium framework with Maven. You'll then look at how you can solve the difficult problems that you will undoubtedly come across as you start using Selenium in an enterprise environment and learn how to produce the right feedback when failing. Next, you’ll explore common exceptions that you will come across as you use Selenium, the root causes of these exceptions, and how to fix them. Along the way, you’ll use Advanced User Interactions APIs, running any JavaScript you need through Selenium; and learn how to quickly spin up a Selenium Grid using Docker containers. In the concluding chapters, you‘ll work through a series of scenarios that demonstrate how to extend Selenium to work with external libraries and applications so that you can be sure you are using the right tool for the job.
Table of Contents (15 chapters)

WebDriverException – element is not clickable at point

This is an exception that you will generally only see in ChromeDriver. What has happened is that when Selenium has tried to click on an element, ChromeDriver has detected that the element that you tried to click will not actually get the click event because something else is in the way. There are a few possible causes of this:

  • Another element is layered on top of the element that you are trying to click
  • The screen has not finished rendering yet, and in this semi-rendered state something has temporarily covered the element you are trying to click on

The solution is to put in an explicit wait that waits for the element to become clickable:

By locator = By.id("someElement");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(locator));

Once you know that the...