Html 如何等待在SeleniumWebDriver中启用输入元素?

Html 如何等待在SeleniumWebDriver中启用输入元素?,html,selenium-webdriver,Html,Selenium Webdriver,我正在编写脚本,以便在JIRA的下方屏幕中选择并输入值 “问题类型”是具有自动完成属性的“输入”元素: 关于预期条件。元素可禁用(定位器) elementtobelickable检查元素是否已启用 public void waitForElementEnabled(最终WebElement){ 试一试{ getWait().until((ExpectedCondition)驱动程序->元素.isEnabled()); }捕获(例外e){ LOGGER.info( e+“:“+”在等待元素“+

我正在编写脚本,以便在JIRA的下方屏幕中选择并输入值

“问题类型”是具有自动完成属性的“输入”元素:


关于
预期条件。元素可禁用(定位器)

elementtobelickable
检查元素是否已启用

public void waitForElementEnabled(最终WebElement){
试一试{
getWait().until((ExpectedCondition)驱动程序->元素.isEnabled());
}捕获(例外e){
LOGGER.info(
e+“:“+”在等待元素“+”时超时;
}
}
等待是WebDriverWait,我们希望等到启用WebElement时得到真正的响应。驱动程序是全局声明的WebDriver实例。如果它超时而没有得到真正的响应,那么我可以调用异常(以便测试继续),并显示一条消息,通知操作超时。
我使用的是Lambda表达式,因此您需要使用selenium 3.1或更高版本(使用番石榴21)

酷。我知道这个API,但认为它只检查“可点击”,没有详细阅读API文档。请对您的答案中提供的代码提供一些解释
public void waitForElementEnabled(final WebElement element) {
    try {
        getWait().until((ExpectedCondition<Boolean>) driver -> element.isEnabled());
    } catch (Exception e) {
        LOGGER.info(
                e + " : " + "Timed out waiting for element: " + element);
    }
}