我正在尝试学习 Protractor ,并且我有一个包含以下代码的项目设置:
var elementToWaitFor = by.id(controlIdToWaitFor);
browser.wait(x=> browser.isElementPresent(elementToWaitFor));
这给出了 typescript 错误:
Argument of type 'By' is not assignable to parameter of type 'ProtractorBy | WebElement'
但是,如果我这样做:
var elementToWaitFor = $('#' + controlIdToWaitFor);
browser.wait(x=> browser.isElementPresent(elementToWaitFor));
错误消失。
我认为那些应该是相同的。我猜我遇到了 Protractor 与 Selenium 的问题,但我不确定解决方法是什么。
注意:我的 typescript 文件顶部有此内容(如果相关):
import {browser, element, by, By, $, $$, ExpectedConditions, protractor} from 'protractor';
最佳答案
这些是相同的:
var elementToWaitFor = element(by.id(controlIdToWaitFor));
var elementToWaitFor = $('#' + controlIdToWaitFor);
关于typescript - 类型 'By' 的参数不可分配给类型 'ProtractorBy | WebElement' 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727646/