This problem has become a nightmare for me after upgrading chromedriver.exe
from 16.0.902.0 to 18.0.1022.0. Sometimes it works all fine and sometimes i
get this exception
org.openqa.selenium.WebDriverException: Element is not clickable at point
(849.5, 120.5).
Its kind of hard for me to maintain stability of the script as its
intermittent
If you have a small test page that reproduces this problem (even if only
occasionally) that you can share, that would be helpful.
#12, I don't see any reason why it should fail intermittently, unless if
the element moves when ChromeDriver attempts to click it. This could
happen, e.g., if an ad pops up on the page and causes the link to be pushed
down all of a sudden. To test, you could try logging the location of the
element repeatedly and see if it ever changes. If the problem only occurs
very rarely, I'd catch the WebDriver exception thrown by the click, and in
the exception log the location of the element again. You can compare the
location where ChromeDriver attempted to click and the current location of
the element, which will let you know if the problem is because the element
moved. If that is the case, you need to wait for the page to be fully
loaded, or try clicking again, or we need to change the way clicking works
in ChromeDriver.
Also, see more details about the problem here:
http://code.google.com/p/chromedriver/wiki/TroubleshootingAndSupport
yes you are right! The position of the element changes as the page starts
loading, so what i am doing is adding explicit wait before clicking the
element so that the page gets loaded, but believe me its really not
possible to add explicit waits before all such elements with which i face
this problem.
Note: I never ever faced this problem with chromedriver.exe 16.0.902.0 .
Is there any change in the way clicking works in ChromeDriver after
chromedriver.exe version 16.0.902.0 ?
I was totally relying on implicit waits till now , but after upgrading my
chromedriver.exe to 18.0.1022.0 , things are not like they were.
I don't have any public url on which i can reproduce the same issue. But i
think either its about implicit wait for page load or the way chrome driver
is clicking on the element.
And what i think is that its something related to implicit wait for page
load because i am getting these stale element exceptions quite frequently
after upgrade
org.openqa.selenium.StaleElementReferenceException: getElementTagName
execution failed;
They are intermittent too.
And again i had to add implicit waits.
org.openqa.selenium.StaleElementReferenceException: getElementTagName
execution failed;
They are intermittent too.
And again i had to add explicit waits.
See the changes between the two versions here:
http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=%2Ftrunk%2Fsrc%2Fchrome%2Ftest%2Fwebdriver&range=104253%3A119625&mode=html
I don't see any significant changes in clicking between the two. You may
want to star the following issue:
http://code.google.com/p/chromedriver/issues/detail?id=22
Is it possible that the time difference between finding an element and
performing action on it is bit large which might cause both the problems
1 Change is position of element
2 Reference to the element might go stale in that duration due to some
change in DOM.
Either this or its too fast that it tries to find element before the DOM is
in stable state and page is fully loaded , but when it performs action due
to change in DOM it throws the above mentioned exceptions.
But the above mentioned enhancement would be great. Hope it solves the
problem .
Hi,
I am having the same issue:
Element is not clickable at point (69.5, 677.5). Other element would
receive the click: <div id="background">...</div> (WARNING: The server did
not provide any stacktrace information) Command duration or timeout: 125
milliseconds Build info: version: '2.17.0', revision: '15540',
time: '2012-01-16 16:51:46' System info: os.name: 'Windows 7',
os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_30' Driver info:
driver.version: RemoteWebDriver Command duration or timeout: 904
milliseconds Build info: version: '2.17.0', revision: '15546',
time: '2012-01-16 17:11:34' System info: os.name: 'Linux',
os.arch: 'amd64', os.version: '2.6.32-5-amd64', java.version: '1.6.0_26'
Driver info: driver.version: RemoteWebDriver
This error is very inconsistent (it appears in 1 out of 5 runs). In FF and
IE works perfectly.
The issue appears after an image is loaded on the page and the element
position is moved.
Do you have a solution for this?
Thanks,
Bogdan
The best way to currently avoid this problem is to wait for the element to
stop moving (wait for the page or image to finish loading in your case).
You may want to star
http://code.google.com/p/chromedriver/issues/detail?id=28 and/or
http://code.google.com/p/chromedriver/issues/detail?id=22 which would make
this issue go away.
Also, see
http://code.google.com/p/chromedriver/wiki/TroubleshootingAndSupport for
more info.
Hi,
Thanks for the fast reply. I've tried to wait for the page to load (the
issue appear after loading an image and also after removing the image -
this causes the element to 'move') and it didn't work. Only with
getLocation() method it seems stable, but this also fails sometimes (so far
it failed only once in about 50 runs - acceptable but not a solution)
Regards,
Bogdan
Besides waiting for the page to load, you should wait for the image to be
removed and any other event which is causing the element position's to
change. This sometimes can be difficult, which is why you might be
interested in the two feature requests logged on the chromedriver site I
mention above. If you can guarantee that the element is no longer moving,
clicking should work, even if it needs to scroll to do so.
Here is a simple example with google search which works with IE and
Firefox, but fails with Chrome :
OpenQA.Selenium.Chrome.ChromeDriver driver = new
OpenQA.Selenium.Chrome.ChromeDriver();
driver.Navigate().GoToUrl(@"http://www.google.com");
driver.FindElementByName("q").SendKeys("Eiffel tower");
System.Threading.Thread.Sleep(1000);
driver.FindElementByName("btnG").Click();
KO : Element is not clickable at point (450, 268)
When the text to search is typed, a dropped down list is created and it
moves the search button.
I upgraded chromedriver from
version=14.0.836.0
to
version=19.0.1068.0
and I keep getting the following error.
org.openqa.selenium.StaleElementReferenceException: getAttribute execution
failed;
The page I am loading has multiple Ajax calls. The Same code works with
Firefox which indicates something wrong with the new version of chrome
driver.
All test cases were working fine earlier for Chrome.
Any ideas how to fix this ?
Or should I roll back to older chromedriver version.