Javascript 从下拉列表中选择一个值
我需要从下拉列表中选择一个值,我已经编写了如下代码Javascript 从下拉列表中选择一个值,javascript,protractor,Javascript,Protractor,我需要从下拉列表中选择一个值,我已经编写了如下代码 this.When(/^User should select equipment filter option$/,function(callback){ var elem = mainpage.selectViewBy('#viewbyDropdown','Equipment'); elem.click().then( function (){ browser.sleep( 20000
this.When(/^User should select equipment filter option$/,function(callback){
var elem = mainpage.selectViewBy('#viewbyDropdown','Equipment');
elem.click().then( function (){
browser.sleep( 20000 );
console.log("Equipment option is selected");
callback();
})
});
selectViewBy: function(locator,Value) {
var elm = browser.driver.findElement(by.css(locator));
elm.click().then(function () {
browser.sleep(2000).then(function () {
var elem = element.all(by.css(locator + ' li')).filter(function (ele) {
return ele.getText().then(function (text) {
return text == Value;
});
}).first();
});
});
但我得到的错误如下
TypeError: Cannot read property 'click' of undefined
at World.<anonymous>
TypeError:无法读取未定义的属性“click”
在世界上。
有人能帮我解决这个问题吗我想在您选择的ViewBy中,elm没有找到元素
var elm = browser.driver.findElement(by.css(locator));
尝试:
var elm = $(locator);
并验证此时dom中是否真的有viewbyDropdown id。我觉得这像是量角器代码。你正在测试你的应用程序吗?是的,Nata,它只是量角器代码。是的,我正在测试应用程序。你能给我们看看你的html吗?您的选择似乎有问题您是否尝试过类似此元素的smth(by.css(locator)).click().then(function(){…});