Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从下拉列表中选择一个值_Javascript_Protractor - Fatal编程技术网

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(){…});