title: Selenium can't click element because other element obscures it
body: <p><strong>Set-up</strong></p>
  
  <p>I'm using Python 3.x and Selenium to fill out a query field and subsequently click the search button,</p>
  
  <pre><code># element containing the product search bar and buttons
  search_area = el_id('Products').find_element_by_class_name('searchArea')
  
  # insert name of file to be duplicated
  name_field = search_area.find_element_by_xpath("//input[@type='text']")
  name_field.clear()
  name_field.send_keys('to_be_duplicated')  
  
  # click search button
  search_area.find_element_by_xpath('span/a[1]').click()
  </code></pre>
  
  <p>where <code>el_id(x) = browser.find_element_by_id(x)</code>.</p>
  
  <hr>
  
  <p><strong>Problem</strong></p>
  
  <p>Executing the code above gives the following error, </p>
  
  <pre><code>ElementClickInterceptedException: Element &lt;a class="button button-fleft searchButton" href="#"&gt; is not clickable at point (577.6166763305664,225.06666564941406) because another element &lt;div class="blockUI blockOverlay"&gt; obscures it
  </code></pre>
  
  <p>I can solve this error by inserting a hard wait before grabbing and clicking the button, like so,</p>
  
  <pre><code># click search button
  time.sleep(1)
  search_area.find_element_by_xpath('span/a[1]').click()
  </code></pre>
  
  <p>But I rather solve it differently, so I followed <a href="https://stackoverflow.com/a/48441919/7326714">this answer</a> and did the following, </p>
  
  <pre><code># click search button
  search_button = search_area.find_element_by_xpath('span/a[1]')
  WebDriverWait(driver, 10).until_not(EC.visibility_of_element_located((By.XPATH, 
  "//*[@id="Products"]/tbody/tr[1]/td/div/input")))
  search_button.click()
  </code></pre>
  
  <p>But I got exactly the same error. </p>
  
  <p>I also tried <a href="https://stackoverflow.com/a/37303115/7326714">this answer</a>, but same error. </p>
  
  <p>How do I solve this?</p>