2016-02-26 44 views
1

你好我嘗試挑選使用codeception腳本從jQuery的Chosed下拉值,下面是開發代碼選擇使用CodeCeption測試腳本的jQuery選上的下拉列表中值

<div class="chosen-container chosen-container-single chosen-container-active" style="width: inherit;" title="" id="Merchantserviceproviders_country_chosen"> 
<a tabindex="-1" class="chosen-single"><span>United States</span><div><b></b></div></a> 
<div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div> 
<ul class="chosen-results"> 
<li class="active-result" style="" data-option-array-index="0">Please select country</li> 
<li class="active-result" style="" data-option-array-index="1">United States</li> 
<li class="active-result" style="" data-option-array-index="2">Canada</li> 
<li class="active-result" style="" data-option-array-index="3">United Kingdom</li> 
<li class="active-result" style="" data-option-array-index="4">Ireland</li> 
<li class="active-result" style="" data-option-array-index="5">South Africa</li> 
<li class="active-result" style="" data-option-array-index="6">Turkey</li></ul></div></div>          
<span class="note"><div style="display:none" id="Merchantserviceproviders_country_em_" class="errorMessage"></div></span></div> 

雖然我能夠通過選擇它使用XPath以下;(美國而言這種情況下)

$I->click(['css' => 'div#Merchantserviceproviders_country_chosen']); 
$I->click(['xpath' => '//div[@id="Merchantserviceproviders_country_chosen"]/div/ul/li[2]']); 

但問題是,選擇是通過在列表中值的位置,這樣如果有新的價值(國家加入),我將不能夠選擇它直到我知道它的位置。

我想知道如何能夠選擇國家使用其價值(美國在我的情況下)而不是列表中的位置。

+0

我闡述更多關於我的情況https://davidwalsh.name/demo/jquery-chosen.php可以有一個人請按照鏈接,讓我在給定的下拉 – SSyar

回答

0

好吧,我想出了在這似乎是對我來說是更好的選擇的時刻圍繞以下工作,,

$I->click(['css' => 'div#Merchantserviceproviders_country_chosen']); 
$I->fillField(['xpath' => '//div[@id="Merchantserviceproviders_country_chosen"]/div/div/input'], 'United States'); 
$I->click(['xpath' => '//div[@id="Merchantserviceproviders_country_chosen"]/div/ul/li[1]']); 

在第1行,我點擊下拉列表,在第2行中,我輸入了我想要的國家全名,以縮小搜索結果的範圍(記住它帶有搜索功能的下拉列表),,,在第3行中,我在搜索結果顯示後單擊第1個選項該下降了WN

0

在這種情況下使用selectOption

$I->selectOption('dropdown-locator', 'option'); 

例子:

$I->selectOption('div#Merchantserviceproviders_country_chosen', 'United States'); 
+0

這不是工作選擇「原型」 ,,, 步驟I選擇選項「div#Merchantserviceproviders_country_chosen」,「美國」 未找到具有'div#Merchantserviceproviders_country_chosen'的元素中值爲'名稱美國'的失敗Radiobutton。 – SSyar

+0

我只是基於你的例子中的定位器。確保您使用的定位器有效。 –

+0

你給出的例子在一般的下拉菜單中工作得很好,但我有一個「選擇下拉菜單」,它不是按照你的指示工作 – SSyar

相關問題