我正在使用WEBDRIVERIO框架。我在此html语法中有一个下拉列表。我尝试使用ID = question-3
进行扩展此后,我尝试使用SELECT按选项,值,文本进行所有选项。但由于显然不是SELECT DROPDOWN,所以没有一个起作用。我尝试根据输入或标签选项单击定位器,但收到“元素不可见”错误消息。
<div id="question-3" class="question ">
<div class="single-dropdown">
<input type="text" name="input-3" class="js-single-selection" placeholder="gender" data-question-id="3" data-index="3" readonly="" style="width: 77px;">
<div class="single-select-container" style="display: none;">
<div class="single-select-item" data-image="">
<label for="option-0-3" data-open="exampleModal1" class="option-0-3-modal">man</label>
<input type="checkbox" id="option-0-3" data-answer-type="single" data-question-id="3" value="man" data-index="3">
</div>
<div class="single-select-item checked" data-image="">
<label for="option-1-3" data-open="exampleModal1" class="option-1-3-modal">woman</label>
<input type="checkbox" id="option-1-3" data-answer-type="single" data-question-id="3" value="woman" data-index="3">
</div>
</div>
</div>
.</div>
答案 0 :(得分:1)
由于html显示了输入标签。我建议:
1. type the value in that input box (placeholder="gender")
2. wait for options to appear (Label tag)
3. click the appeared item.(Appeared label)
如果您的方案失败,请提供失败的堆栈跟踪。
答案 1 :(得分:0)
我建议单击“选择项目”(在这种情况下为输入),然后实施等待(请参阅文档:http://webdriver.io/api/utility/waitForVisible.html)。等待其在屏幕上可见后,单击下拉菜单。像这样...
browser.click(selectItem);
browser.waitForVisible(dropdownItem);
browser.click(dropdownItem);