Javascript 为什么我会收到一条信息,说;对象不是函数;当我尝试申请时?
我设置了一些变量来保存页面元素:Javascript 为什么我会收到一条信息,说;对象不是函数;当我尝试申请时?,javascript,Javascript,我设置了一些变量来保存页面元素: this.examStatusSelect = element(by.id('examStatusSelect')); this.examTypeSelect = element(by.id('examTypeSelect')); 我有这个函数调用: dom.checkGrid('* check', 0, [ [page.examStatusSelect, 0], [page.examTypeSelect, 0],
this.examStatusSelect = element(by.id('examStatusSelect'));
this.examTypeSelect = element(by.id('examTypeSelect'));
我有这个函数调用:
dom.checkGrid('* check', 0, [
[page.examStatusSelect, 0],
[page.examTypeSelect, 0],
]);
我想做的是调用另一个函数,如下所示:
var Dom = function () {
var self = this;
this.getSelectOption = function (element, value) {
var id = element.locator_.value;
return element(by.xpath('//select[@id="' + id + '"]/option[@value = "' + value + '"]'));
}
this.checkGrid = function (label, expectedCount, params) {
it(label + ': Check for ' + expectedCount + ' grid rows', function () {
for (var i = 0; i < params.length; ++i) {
self.getSelectOption.apply(self, params[i]).click();
}
page.retrieveButton.click();
expect(page.row.count()).toBe(expectedCount);
});
}
我不明白这意味着什么。有人能告诉我可能做错了什么吗?我也不确定应用后self的用途是什么(?您正在本地范围内重新定义
元素。请将您的输入参数命名为elem
,例如:
this.getSelectOption = function (elem /* local scope */, value) {
var id = elem.locator_.value; /* elem is local scope here */
/* element is from the not local scope
(might be global, could also be from a closure) */
return element(by.xpath('//select[@id="' + id + '"]/option[@value = "' + value + '"]'));
}
您正在本地范围内重新定义元素
。请将您的输入参数命名为元素
,例如:
this.getSelectOption = function (elem /* local scope */, value) {
var id = elem.locator_.value; /* elem is local scope here */
/* element is from the not local scope
(might be global, could also be from a closure) */
return element(by.xpath('//select[@id="' + id + '"]/option[@value = "' + value + '"]'));
}
您正在本地范围内重新定义元素
。请将您的输入参数命名为元素
,例如:
this.getSelectOption = function (elem /* local scope */, value) {
var id = elem.locator_.value; /* elem is local scope here */
/* element is from the not local scope
(might be global, could also be from a closure) */
return element(by.xpath('//select[@id="' + id + '"]/option[@value = "' + value + '"]'));
}
您正在本地范围内重新定义元素
。请将您的输入参数命名为元素
,例如:
this.getSelectOption = function (elem /* local scope */, value) {
var id = elem.locator_.value; /* elem is local scope here */
/* element is from the not local scope
(might be global, could also be from a closure) */
return element(by.xpath('//select[@id="' + id + '"]/option[@value = "' + value + '"]'));
}
你可能是对的,但是OP真的应该澄清你必须做出的假设。你可能是对的,但是OP真的应该澄清你必须做出的假设。你可能是对的,但是OP真的应该澄清你必须做出的假设。你可能是对的,但是OP真的应该有cl使你不得不做出的假设多样化。