You have done a double click
You have done a right click
You have done a dynamic click
Basic button
The button below displays an alert when clicked.
Stale button
Selenium clicks fail when an element is not attached to the current page. Re-find the element if the previously found element has been detached.
Disabled button
Disabled buttons don’t fire click events. A wait condition can be used if the button eventually transitions to enabled.
Hidden button
Invisible elements cannot be clicked. Wait until elements become visible.
Covered button
Overlapping elements intercept clicks from overlapped ones. Wait for the element to be uncovered.
Moving button
Firefox’s geckodriver reliably clicks moving elements. ChromeDriver requires extra work.
Sending an ‘Enter’ key directly to an element simulates a click. (Of course, clicking and pressing ‘Enter’ aren’t exactly the same but may be good enough).
Resizing button
Because Selenium attempts to click the center of elements, an element that changes size adjusts the click location and creates similar pitfalls in ChromeDriver to that of a moving element. Wait for the size to stabilize.
The same ‘Enter’ trick for moving elements can be used with elements that change size.
Refreshing button
Elements that are periodically refreshed can separate Selenium’s find and/or click events. Executing Javascript to perform the find and click prevents separation.