2015-12-01 2 views
0

Я искал несколько потоков о получении значений из раскрывающегося списка, чтобы использовать значения для более позднего времени в скрипте casperjs.Как получить значения выпадающего списка с CasperJS

Итак, моя проблема заключается в том, что я не могу извлечь значения из своего раскрывающегося списка и фактически использовать его на следующем шаге, а теперь просто для его эха.

Это как мой раскрывающийся список выглядит в моей веб-странице: enter image description here

Я попробовал несколько примеров, но он просто не работает, что я делаю неправильно?

casper.then(function() { 
    var options = this.evaluate(function() { 
     var options = document.getElementById('selectedNetworkElementOrGroup_TD').children; 
     return [].map.call(options, function(opt) { 
      return { val: opt.value, text: opt.textContent }; 
     }); 
    }); 
    this.echo(JSON.stringify(options)); 
}); 

Одна из проблем может заключаться в том, что в раскрывающемся списке нет идентификатора!

ответ

1

Вам нужен базовый селектор CSS, как это: #selectedNetworkElementOrGroup_TR select:

var options = this.evaluate(function() { 
    var options = document.querySelector('#selectedNetworkElementOrGroup_TR select').children; 
    return [].map.call(options, function(opt) { 
     return { val: opt.value, text: opt.textContent }; 
    }); 
}); 
this.echo(JSON.stringify(options)); 
+0

Привет, спасибо за ваш ответ, но эхо дает мне _null_, как выход? Почему? – FotisK

+0

Да, извините. Я забыл изменить стандартный вызов 'getElementById()' 'querySelector()', когда я скопировал ваш код. –

Смежные вопросы