【发布时间】:2014-06-25 21:03:21
【问题描述】:
大家好,我一直在努力寻找解决问题的方法,但找不到。
我需要从这个 html 代码中的第二个选择中选择一个值,即 name="update_status[5955483]" 的值,我不知道如何。
我的尝试没有成功。
Watir:
1- browser.select_list(:name, "update_status[5955483]").select_value("A")
2 - input_field = browser.div(:class => 'minict_wrapper orange')
input_field.link(:name => 'update[5955483}]' ).click
3 - browser.input( :value, "B").click
没有任何效果,第一个在查找元素时给我错误,第三个只是单击第一个输入。
我已经搜索过,根据我的理解,我需要转到所需的 Select,然后单击上面的输入以使 UL 可见,然后从 UL 中选择值,只是不知道该怎么做.
任何帮助将不胜感激。
HTML:
<tbody class="filters">
<tr>
<td width="10%"> </td>
<td width="20%">
<td width="20%">
<select id="status_filter" class="jscompleted" name="filter_status" data-select-onchange="$(this.element).trigger('change');" data-select-minimalectify="orange" style="display: none;">
<option value="all">All</option>
<option value="a"> A </option>
<option selected="selected" value="moderation"> B </option>
<option value="c"> C </option>
<option value="d"> D </option>
<option value="e"> E </option>
<option value="f"> F </option>
<option value="g"> G </option>
</select>
<div class="minict_wrapper orange" data-minictfied="" data-minict-id="status_filter" data-minict-class="jswait">
<input type="text" placeholder="B" value="B" data-minictfied="">
<ul data-minictfied="" style="display: none;">
<li class="minict_first" data-value="all">All</li>
<li class="" data-value="a"> A </li>
<li class="selected" data-value="moderation"> B </li>
<li class="" data-value="c"> C </li>
<li class="" data-value="d"> D </li>
<li class="" data-value="e"> E </li>
<li class="" data-value="f"> F </li>
<li class="minict_last" data-value="g"> G </li>
<li class="minict_empty" style="display: none;">No results match your keyword.</li>
</ul>
</div>
</td>
<td width="20%">
<td width="20%">
<td width="10%">
</tr>
<tr>
<tr>
</tbody>
<tbody>
<tr>
<td>
<td> MV Name </td>
<td>
<select class="jscompleted" name="update_status[5955483]" data-select-onchange="$(this.element).trigger('change');" data-select-minimalectify="orange" style="display: none;">
<option value="a" > A </option>
<option selected="selected" value="" > B </option>
<option value="c" > C </option>
<option value="d" > D </option>
<option value="e" > E </option>
<option value="f" > F </option>
<option value="g" > G </option>
</select>
<div class="minict_wrapper orange" data-minictfied="" data-minict-class="jswait">
<input type="text" placeholder="B" value="B" data-minictfied="">
<ul data-minictfied="" style="display: none;">
<li class="minict_first" data-value="a"> A </li>
<li class="" data-value="c"> C </li>
<li class="" data-value="d"> D </li>
<li class="" data-value="e"> E </li>
<li class="" data-value="f"> F </li>
<li class="minict_last" data-value="g"> G </li>
<li class="minict_empty" style="display: none;">No results match your keyword.</li>
</ul>
</div>
</td>
【问题讨论】:
-
作为用户,您将如何输入页面?根据 html,我会猜到您是某种自动完成控件 - 即您输入一个文本字段,该字段显示匹配结果列表,然后您从该列表中选择一些内容。您希望您的 Watir 代码模仿相同的操作。仅使用 html 很难重现您的问题并验证这些假设。您是否可以分享实际使页面工作的代码(可能是 jQuery)(即创建一个显示问题的独立页面)?
标签: javascript jquery html watir watir-webdriver