Protractor waiting for element to be in DOM
You should be able to use browser.wait
together with the presenceOf
ExpectedCondition:
var until = protractor.ExpectedConditions;browser.wait(until.presenceOf(elem), 5000, 'Element taking too long to appear in the DOM');
Protractor has included ExpectedCondition for explicit wait which lets you wait for the element for certain period of time. You should be able to do the following:
var EC = protractor.ExpectedConditions;browser.driver.wait(function () { browser.wait(EC.visibilityOf(elem), 10000); return elem;});
the first parameter of browser.wait is a function, if we need to wait until an element is present irrespective of time, then we can use the below code, If you need to restrict the wait to a particular time please give time as second parameter of 'browser.wait'
browser.wait(function() { return element(by.css("#edudrop1")).isPresent()});