How to use afterAnyAlertCall method of org.openqa.selenium.support.events.Interface WebDriverListener class

Best Selenium code snippet using org.openqa.selenium.support.events.Interface WebDriverListener.afterAnyAlertCall

copy

Full Screen

...121 default void beforeRefresh(WebDriver.Navigation navigation) {}122 default void afterRefresh(WebDriver.Navigation navigation) {}123 /​/​ Alert124 default void beforeAnyAlertCall(Alert alert, Method method, Object[] args) {}125 default void afterAnyAlertCall(Alert alert, Method method, Object[] args, Object result) {}126 default void beforeAccept(Alert alert) {}127 default void afterAccept(Alert alert) {}128 default void beforeDismiss(Alert alert) {}129 default void afterDismiss(Alert alert) {}130 default void beforeGetText(Alert alert) {}131 default void afterGetText(Alert alert, String result) {}132 default void beforeSendKeys(Alert alert, String text) {}133 default void afterSendKeys(Alert alert, String text) {}134 /​/​ Options135 default void beforeAnyOptionsCall(WebDriver.Options options, Method method, Object[] args) {}136 default void afterAnyOptionsCall(WebDriver.Options options, Method method, Object[] args, Object result) {}137 default void beforeAddCookie(WebDriver.Options options, Cookie cookie) {}138 default void afterAddCookie(WebDriver.Options options, Cookie cookie) {}139 default void beforeDeleteCookieNamed(WebDriver.Options options, String name) {}...

Full Screen

Full Screen

StackOverFlow community discussions

Questions
Discussion

Selenium Web Driver & Java. Element is not clickable at point (x, y). Other element would receive the click

How to change web browser from Firefox to Chrome/Opera/IE/Safari in selenium webdriver?

Selenium WebDriver get Current frame before switch

How to set language to PhantomJs Ghostdriver with java?

Selenium hangs instantiating FirefoxDriver

How to handle print dialog in Selenium?

org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'

How to wait for either of the two elements in the page using selenium xpath

Null Pointer Exception when trying to take a screenshot with selenium

How to set Proxy Authentication in seleniumWebdriver for Chrome Browser

WebDriverException: Element is not clickable at point (x, y)

This is a typical org.openqa.selenium.WebDriverException which extends java.lang.RuntimeException.

The fields of this exception are :

  • BASE_SUPPORT_URL : protected static final java.lang.String BASE_SUPPORT_URL
  • DRIVER_INFO : public static final java.lang.String DRIVER_INFO
  • SESSION_ID : public static final java.lang.String SESSION_ID

About your individual usecase, the error tells it all :

WebDriverException: Element is not clickable at point (x, y). Other element would receive the click 

It is clear from your code block that you have defined the wait as WebDriverWait wait = new WebDriverWait(driver, 10); but you are calling the click() method on the element before the ExplicitWait comes into play as in until(ExpectedConditions.elementToBeClickable).

Solution

The error Element is not clickable at point (x, y) can arise from different factors. You can address them by either of the following procedures:

1. Element not getting clicked due to JavaScript or AJAX calls present

Try to use Actions Class:

WebElement element = driver.findElement(By.id("navigationPageButton"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();

2. Element not getting clicked as it is not within Viewport

Try to use JavascriptExecutor to bring the element within the Viewport:

WebElement myelement = driver.findElement(By.id("navigationPageButton"));
JavascriptExecutor jse2 = (JavascriptExecutor)driver;
jse2.executeScript("arguments[0].scrollIntoView()", myelement); 

3. The page is getting refreshed before the element gets clickable.

In this case induce ExplicitWait i.e WebDriverWait as mentioned in point 4.

4. Element is present in the DOM but not clickable.

In this case induce ExplicitWait with ExpectedConditions set to elementToBeClickable for the element to be clickable:

WebDriverWait wait2 = new WebDriverWait(driver, 10);
wait2.until(ExpectedConditions.elementToBeClickable(By.id("navigationPageButton")));

5. Element is present but having temporary Overlay.

In this case, induce ExplicitWait with ExpectedConditions set to invisibilityOfElementLocated for the Overlay to be invisible.

WebDriverWait wait3 = new WebDriverWait(driver, 10);
wait3.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));

6. Element is present but having permanent Overlay.

Use JavascriptExecutor to send the click directly on the element.

WebElement ele = driver.findElement(By.xpath("element_xpath"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", ele);
https://stackoverflow.com/questions/44912203/selenium-web-driver-java-element-is-not-clickable-at-point-x-y-other-elem

Blogs

Check out the latest blogs from LambdaTest on this topic:

Automated Cross Browser Testing With Protractor & Selenium

This article is a part of our Protractor tutorials. Visit LambdaTest Learning Hub for in-depth tutorials around CI/CD, Selenium, automation testing and more.

How to get started with Load Testing?

We have all been in situations while using a software or a web application, everything is running too slow. You click a button and nothing is happening except a loader animation spinning for an infinite time.

21 Platforms That Serve As A Lifeline To Web Developers

Web development is constantly evolving at an astounding pace every single day. It poses a huge challenge to keep a track of new tools, libraries, frameworks, and plugins, platforms for web developers that are flooding in this sphere. Web development involves an intricate cycle of 5 complex stages namely -information gathering, planning and design, development, testing and delivery and finally project maintenance. To handle all these stages is a harrowing and daunting task even for a skilled developer on their own. This is why I have curated this list of 21 essential platforms for web developers to help them speed up their productivity and maintain an efficient workflow.

Why Selenium WebDriver Should Be Your First Choice for Automation Testing

Developed in 2004 by Thoughtworks for internal usage, Selenium is a widely used tool for automated testing of web applications. Initially, Selenium IDE(Integrated Development Environment) was being used by multiple organizations and testers worldwide, benefits of automation testing with Selenium saved a lot of time and effort. The major downside of automation testing with Selenium IDE was that it would only work with Firefox. To resolve the issue, Selenium RC(Remote Control) was used which enabled Selenium to support automated cross browser testing.

19 JavaScript Questions I Have Been Asked Most In Interviews

This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Selenium JavaScript Tutorial.

Selenium 4 Tutorial:

LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.

Chapters:

  1. Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.

  2. What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.

  3. Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.

  4. Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.

  5. How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.

  6. Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.

  7. Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.

Selenium 101 certifications:

LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.

Run Selenium automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in Interface-WebDriverListener

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful