2015-12-01 47 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)); 
}); 

一個問題可能是下拉框沒有ID!

回答

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()'。 –

相關問題