2014-03-19 31 views
2

我想選擇一個入選項。 我如何用CasperJS做到這一點。使用CasperJS在表單外選擇

你需要知道的一些信息:

  • 我不能修改的頁面。我的任務只是寫測試。
  • 選擇標記不包含在表單中。
  • 我不能使用document.querySelector(MY_SELECT).selectedIndex = X;方法,因爲更改select(具有正常行爲)會拋出一些我需要的事件,並且它們不會以簡單的形式拋出。
+0

casper.fill對我來說很適合使用select2連接到它們的select元素! –

+0

我嘗試使用fill(),但它需要命名/ id(entified)select,這不是我所擁有的代碼的代碼; – AlphaB

+0

爲什麼不在'select.selectedIndex = X;'之後調用'select.onchange();'? –

回答

1

你想模擬正常行爲嗎?這是正確的在某些問題操縱DOM是不夠的(事件不會被拋出,所以你不能發送你的表單,因爲數據沒有更新,並且你有ajax返回的錯誤)。我意識到,當我們正在做功能測試,再現用戶的行爲總是工作:) - >

this.mouse.down("selector of your select element");//press left button 
this.mouse.up('selector of the option of your select element');//release left button 

例子:

this.mouse.down("div#ec1 select.jCustomSelect.monthB");//press left button 
this.mouse.up('div#ec1 select.jCustomSelect.monthB > option[value="7"]');//release left button 

或者你可以使用jQuery和變化()方法。