不要等待页面本身,而要等待页面上的元素。
诀窍是先等待元素出现,然后再等待其显示。如果您不先等待“ isPresent”,则仅调用“ isDisplayed”会导致错误。这是一个很好的功能。
function waitForElement(el, waitTimeoutMilliseconds){ return browser.wait(function() { return el.isPresent(); }, waitTimeoutMilliseconds) .then(function(){ return browser.wait(function() { return el.isDisplayed(); }, waitTimeoutMilliseconds); });}代替
browser.sleep(5000);var elmOK = browser.driver.findElement(by.xpath('//*[@id="lnav"]/li[3]/a'));yield elmOK.click();做
var elmOk = element(by.xpath('//*[@id="lnav"]/li[3]/a'));waitForElement(elmOk, 5000);elmOk.click();


