码迷,mamicode.com
首页 > 其他好文 > 详细

Element is not clickable at point error in chrome

时间:2016-01-07 16:19:07      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

I see this only in Chrome.

The full error message reads:

"org.openqa.selenium.WebDriverException: Element is not clickable at point (411, 675). Other element would receive the click: ..."

The element that ‘would receive the click‘ is to the side of the element in question, not on top of it and not overlapping it, not moving around the page.

I have tried adding an offset, but that does not work either. The item is on the displayed window without any need for scrolling.

 

----------------------------------

This is caused by following 2 types:

1.The element is not visible to click.

Use Actions or JavascriptExecutor for making it to click.

By Actions:

WebElement element = driver.findElement(By("element_path"));

Actions actions = new Actions(driver);

actions.moveToElement(element).click().perform():

By JavascriptExecutor:

JavascriptExecutor jse = (JavascriptExecutor)driver;

jse.executeScript("scroll(250, 0)"); // if the element is on top.

jse.executeScript("scroll(0, 250)"); // if the element is on bottom.

or

JavascriptExecutor jse = (JavascriptExecutor)driver;

jse.executeScript("arguments[0].scrollIntoView()", Webelement); 

Then click on the element.

2.The page is getting refreshed before it is clicking the element.

For this, make the page to wait for few seconds.

--------------------

1.The element is not visible at the view point(not seen in the screen)

Try this

JavascriptExecutor jse = (JavascriptExecutor)driver;

jse.executeScript("scroll(250, 0)"); // this will scroll up

or

jse.executeScript("scroll(0, 250)"); // this will scroll down

2.Element is not present at the time of execution. Use WebDriverWait to until the element is present.

WebDriverWait wait = new WebDriverWait(driver, 15);

wait.until(ExpectedConditions.elementToBeClickable(By.id("ID of the element")));
---------------------------
In my python script, I try the second method, details as below

js_="var q=document.body.scrollTop=10000"
driver.execute_script(js_)

Attation: In chrome we should use "document.body.scrollTop",  "document.documentElement.scrollTop" doesn‘t work in chrome

if you want to get the value of scrollTop, may you can try this "var sTop=document.body.scrollTop+document.documentElement.scrollTop;"

Element is not clickable at point error in chrome

标签:

原文地址:http://www.cnblogs.com/alansheng/p/5110143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!