使用chromedriver测试,有时候因为页面没加载完成或者Element的中心位置无法click(或者有其他东西覆盖在这个element上),导致click这个Element引发WebDriverException,error message说元素在某点上无法点击,其他元素会接受点击事件。这里说下我的解决方法。
刚开始google了下,这个issue里很全:https://code.google.com/p/selenium/issues/detail?id=2766,尝试了先focus到element再click,但是我的case不行:
element.sendKeys("");
或者
new Actions(driver).moveToElement(element).perform();
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView(true);", element);
后来一步一步调试发现在元素click前有一个waiting icon在转,waiting icon把后面所有元素都挡住了,解决方法很简单,就是等到这个waiting icon消失在click就好了