问答 [求助] Element is not clickable at point,前提该页面没有遮挡,也没有等待加载的页面

周小丽 · 2017年03月22日 · 最后由 xyh421 回复于 2017年03月31日 · 2409 次阅读

最近用 selenium 写测试用例时,该当前页面没有遮挡,也没有等待加载的页面,find 该元素后 click 提示 Element is not clickable at point,想请教下是什么原因?

先上个页面图如下


如上的图是整屏显示的

 WebElement webElement = driver.findElement(By.linkText("确认送达"));
System.out.println("result:" + webElement.isDisplayed());        //打印结果为 True
webElement.click();        //提示 Element is not clickable at point

提问:为什么 Element is not clickable at point?

但如下方式为什么又可以正常 click 呢?

WebElement webElement = driver.findElement(By.xpath("//span[contains(@id,'complete_')]"));
webElement.click();        //是可以正常 click 的
共收到 12 条回复 时间 点赞

是不是有多个确认送达?

改用 By.id 试试

恒温 回复

整个页面只有一个 确认送达,如上图所示

WebElement webElement = driver.findElement(By.linkText("确认送达"));
System.out.println("result:" + webElement.isDisplayed());        //打印结果为 True
webElement.click();

你把这个 element 的属性打印出来看看?

WebDriver 中如果我没记错的话,By.linkText() 方法只适用于< a >标签。

米阳MeYoung 回复

它前后是 < a >的标签啊,类似这种的 我之前也遇到过 比如
用 By.linkText() 是可以的

恒温 回复

获取控件的什么属性? webElement.getAttribute("id");吗? 显示的是 complete_1195

周小丽 回复

确认送达不是 1195 吗?

你的 id 是带有下划线的,别用 Id 查找了 换其它方式吧

恒温 回复

肯定是 1195,那是因为我换数据了

周小丽 回复

那不太可能。 你在运行的时候把这个 element 的文本给打印出来。


python 的 click link 是搜 a 表情的,java 可能类似吧

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册