这是由以下3种类型引起的:
1.单击该元素不可见。
使用Actions或JavascriptExecutor使其单击。
通过动作:
WebElement element = driver.findElement(By("element_path"));Actions actions = new Actions(driver);actions.moveToElement(element).click().perform();通过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.要么
JavascriptExecutor jse = (JavascriptExecutor)driver;jse.executescript("arguments[0].scrollIntoView()", Webelement); 然后单击元素。
2.页面在单击元素之前已刷新。
为此,使页面等待几秒钟。
3.该元素是可单击的,但其顶部有一个微调器/叠加层
下面的代码将等待,直到覆盖消失
By loadingImage = By.id("loading image ID");WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));然后单击元素。



