Javascript seleniumjs wait utill元素已准备好输入

Javascript seleniumjs wait utill元素已准备好输入,javascript,selenium,Javascript,Selenium,我的应用程序当前正在使用isElementPresent等待iframe,然后切换到它 我现在在iFrame本身有问题,我需要等待,直到页面上出现输入组件,并准备接受按键。但是,如果页面加载速度减慢,则会导致应用程序崩溃(如果页面加载速度加快,则会执行iFrame组件上的按键输入) 错误消息:element不可见错误:元素不可见 Login.prototype.waitForIframeField = function(){ var self = this; return this.dr

我的应用程序当前正在使用isElementPresent等待iframe,然后切换到它

我现在在iFrame本身有问题,我需要等待,直到页面上出现
输入
组件,并准备接受按键。但是,如果页面加载速度减慢,则会导致应用程序崩溃(如果页面加载速度加快,则会执行iFrame组件上的按键输入)

错误消息:
element不可见错误:元素不可见

Login.prototype.waitForIframeField = function(){
  var self = this;
  return this.driver.wait(function waitForInputField() {
    return self.driver.isElementPresent(self.page.usernameInputField.selector);
  }, this.config.driver.defaultTimeout);
}
我也尝试过使用
.findElement().isDisplayed()
,但是它也在
中执行相同的问题,没有这样的元素

有一个特定的:


请注意,您还可以通过切换到来改进iframe等待。

不幸的是,当尝试使用此元素时,我正在获取元素。isDisplayed不是一个函数,我使用的是{“xpath”:“/*[@id=\“username\”]”}选择器。您知道这可能是什么原因吗?@user2950720我做了一个更新-它是这样工作的吗?谢谢
driver.wait(until.elementIsVisible(driver.findElement(self.page.usernameInputField.selector)));