我尝试在以下html中选择一个选项:
<select class="gwt-ListBox" style="" gwtdebugid="signup-flow-choose-timezones">
<option value="">Ahora seleccione una zona horaria:</option>
<option value="">------</option>
<option value="Pacific/Honolulu">(GMT-10:00) Hora de Hawai</option>
<option value="America/Anchorage">(GMT-09:00) Hora de Alaska</option>
<option value="America/Los_Angeles">(GMT-08:00) Hora del Pacífico</option>
<option value="America/Denver">(GMT-07:00) Hora de las Montañas Rocosas</option>
<option value="America/Phoenix">(GMT-07:00) Hora de las Montañas Rocosas - Arizona</option>
<option value="America/Chicago">(GMT-06:00) Hora central</option>
<option value="America/New_York">(GMT-05:00) Hora del Este</option>
</select>
如果选择此选项,则通过点击例如在网页中启用一个按钮。 我尝试使用以下代码进行选择:
var option = ie.SelectList(Find.By("gwtdebugid", s => s.Equals("signup-flow-choose-timezones"))).Options[3];
option.Select();
option.Change();
但是使用此代码,按钮仍处于禁用状态,没有任何反应。
我尝试使用Watin中的Eval()
函数运行JQuery代码,方法如下:
ie.DomContainer.Eval("$('select.gwt-ListBox').change();");
但我得到以下例外:
ReferenceError: '$' is not defined.
非常感谢任何帮助。
答案 0 :(得分:0)
这是我怎么做的
//My drop down list
SelectList ddlAccounts = ie.SelectList(Find.ById("ddlClientNumbers_m_ddl"));
//here i select option that i need
ddlAccounts.Options[i].Select();
//Or select by value your case
ddlAccounts.SelectByValue("Pacific/Honolulu");
您可以添加以确保浏览器已完成加载
ie.WaitForComplete();
购买我认为你在另一个地方有问题,如果你在Frame中按钮而不是在ie,播种意味着你需要在每次ddlAccounts.Options[i].Select();
之后加载你的框架
Frame yourFrame = ie.Frame(Find.ById("id"));
SelectList ddlAccounts = ie.SelectList(Find.ById("ddlClientNumbers_m_ddl"));
ddlAccounts.SelectByValue("Pacific/Honolulu");
//and load frame again
yourFrame = ie.Frame(Find.ById("id"));
您可以找到更新的按钮