Protractor 如何等待任何元素出现在量角器中
我是量角器新手,在放置等待语句时遇到问题 我的代码如下:Protractor 如何等待任何元素出现在量角器中,protractor,wait,Protractor,Wait,我是量角器新手,在放置等待语句时遇到问题 我的代码如下: element(by.xpath('html/body/app-root/div/app-dashboard/div/div/div[2]/div[1]/div/app-dashboard-filter/span/span/img')).click(); 在执行click()操作之前,我希望量角器等待'/html/body/app root/div/app dashboard/div/div/div[1]/div[3]/div/div[
element(by.xpath('html/body/app-root/div/app-dashboard/div/div/div[2]/div[1]/div/app-dashboard-filter/span/span/img')).click();
在执行click()操作之前,我希望量角器等待'/html/body/app root/div/app dashboard/div/div/div[1]/div[3]/div/div[1]/h5'
元素。该元素在4秒内出现
在搜索互联网后,我尝试了以下方法:
1. browser.driver.sleep(5000);
2. browser.driver.manage().timeouts().setScriptTimeout(55000);
3. expect(element(by.xpath(/html/body/app-root/div/app-dashboard/div/div/div[1]/div[3]/div/div[1]/h5')).isPresent()).toBe(true);
4. browser.manage().timeouts().implicitlyWait(5000);
但由于这样或那样的错误,我什么也做不到。请帮忙 您可以在脚本中实现dragrator.ExpectedConditions以等待 代码:
var EC=protractor.ExpectedConditions;
var ele=element(locator)
browser.wait(EC.visibilityOf(ele),timeout,"Custom Error Message");
更多预期条件的链接:
使用可见性检查和元素可在预期条件下禁用,它可以正常工作。请查找下面的代码片段:
var targetEle = element(by.xpath(/html/body/app-root/div/app-dashboard/div/div/div[1]/div[3]/div/div[1]/h5'));
var EC_TIMEOUT = 5000;
browser.wait(EC.visibilityOf(targetEle), EC_TIMEOUT).then(function(){
browser.wait(EC.elementToBeClickable(targetEle), EC_TIMEOUT).then(function(){
//callback();
targetEle.click().then(function() {
callback();
});
});
});
你可以通过两种方式做到这一点
var EC=protractor.ExpectedConditions;
browser.wait(EC.presenceOf(element),timeout,"Custom Error Message");
var EC=protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(element),timeout,"Custom Error Message");
第二点可以正常使用
示例:-
var EC=protractor.ExpectedConditions;
browser.wait(EC.presenceOf(element),timeout,"Custom Error Message");
var EC=protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(element),timeout,"Custom Error Message");
获取此错误:失败:等待异步角度任务在11秒后完成时超时。这可能是因为当前页面不是角度应用程序。有关更多详细信息,请参见常见问题解答:在等待带有定位器的元素时-locator:By(xpath、/html/body/app root/div/app dashboard/div/div/div[1]/div[3]/div/div/div/div[1]/h5)添加此项后没有更改:allScriptsTimeout:15000,如果页面不存在,请添加代码:browser.ignoreSynchronization=true;