你好,我正在尝试使用 codeception 脚本从 jQuery Chosed Dropdown 中选取一个值,以下是开发代码
<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]']);
但问题是选择是通过值在列表中的位置进行的,因此如果有任何新值(添加国家/地区),我将无法选择它,直到我知道它的位置。
我想知道如何使用它的值(在我的例子中是美国)而不是列表中的位置来选择国家/地区。
最佳答案
在这种情况下使用selectOption
。
$I->selectOption('dropdown-locator', 'option');
例子:
$I->selectOption('div#Merchantserviceproviders_country_chosen', 'United States');
关于testing - 使用 CodeCeption 测试脚本从 jQuery Chosen Dropdown 中选择一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35650535/