我想在TypeScript中做类似的事情:
public wait(element){
var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(element), 5000);
}
但是我收到消息“[ts]属性'元素'在类型'BasePage'上不存在” 如何更好地做到这一点?
答案 0 :(得分:0)
我认为您实际上希望这是ElementFinder
而不是WebElement
。 documentation表示visibilityOf()
接受ElementFinder
个对象。从变量名称看起来,您试图传入整个页面对象。您需要从该页面对象传入特定元素。
因此,在您的情况下,您只需通常的方式获取元素并将其传递给此函数。
var myElement = element(by.css('.some-class'));
myUtils.wait(myElement);
答案 1 :(得分:0)
您需要的一切是: 在spec文件中导入:
import {browser, by, $, $$, ExpectedConditions as EC, element} from 'protractor';
然后在'it'阻止您要等待元素写入的位置:
const waitforMyDesiredElement = EC.visibilityOf(element);
browser.wait(waitforMyDesiredElement, 5000)