driver.findElement(By.xpath(" //按钮&#34))。单击();
预期结果:已成功点击按钮。
实际结果:引起:org.openqa.selenium.ElementNotVisibleException:必须显示元素才能单击(警告:服务器未提供任何堆栈跟踪信息);"。
答案 0 :(得分:0)
您需要先检查isDisplayed()
和isEnabled()
,然后点击以下内容: -
WebElement el = driver.findElement(By.xpath("//button"));
if(el.isDisplayed() && el.isEnabled())
{
el.click();
}
或者您应该尝试将WebDriverWait
与ExpectedConditions.elementToBeClickable
一起使用,如下所示: -
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement el = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button")));
el.click();
注意: - elementToBeClickable
用于检查元素是否可见并已启用,以便您可以单击它。
WebDriverWait
如果预期条件为真,则ExpectedConditions.elementToBeClickable
会返回WebElement
,否则会抛出TimeoutException
希望它有帮助...:)