1,首先检查By.xpath定位元素位置是否正确;
2、如果元素定位没有问题,且该报错现象是偶发性即有时代码执行成功 有时失败就可以知道是元素点击事件时发生的错误,如果元素点击事件是直接用 元素定位变量.click();就会经常出现该报错,如下图代码
dengLuT.click();
3、这时就需要实例化Actions对象,通过Actions类中action.moveToElement(元素定位变量)方法来执行元素点击操作,
action.moveToElement(元素定位变量).click().perform();
的需要导入如下包;
import org.openqa.selenium.interactions.Actions;
4、为了防止界面加载时间过慢 因此需要在点击事件的前后加一个等待函数:Thread.sleep(3000);等待三秒钟。该函数需要抛异常。
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
5、完整代码如下
Actions action = new Actions(driver);//实例化界面行为对象
action.moveToElement( teams.get(i)).click().perform();//调用Ctions中的鼠标方法
6、目前上述方法还是只能解决element click intercepted的问题,我这边运行时有时还会出现Unable to locate element的报错,解决方法待定,有大神知道的也可以在评论区写一下解决办法