title: WebDriverError: element click intercepted: Other element would receive the click - detection
body: <p>I would like to detect if an element is <strong>clickable</strong> before attempting to click it. In my specific use case the element is hidden by another element on top of it during processing and when done, the overlay is removed and the element can be clicked. Unfortunately the condition <code>elementIsVisible</code> does not consider an element to be hidden by another element nor does the method <code>WebElement.isDisplayed</code> of an element.</p>
  
  <pre class="lang-js prettyprint-override"><code>// find an element that is hidden behind some overlay
  const hiddenElement = await driver.findElement(By.id('hiddenElement'));
  
  // wait for element returns the "hidden" element
  const await visibleElement = driver.wait(webdriver.until.elementIsVisible(hiddenElement));
  
  // "isDisplayed" reports the "hidden" element as visible
  const visible = await hiddenElement.isDisplayed();
  </code></pre>
  
  <p>I could clearly use the overlay element to detect if the element is hidden but this would have to be customized for each different type of overlay and I'm actually looking for a more generic way to detect if an element is actually <strong>clickable</strong>.</p>