[英]Watin don't update button after select option in list
我尝试在以下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.
任何帮助都非常感谢。
在这里我怎么做
//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();
购买我认为如果您在“框架”中单击而不是在“按钮”中,您会在另一个地方遇到问题,那意味着您需要在ddlAccounts.Options[i].Select();
之后每次加载框架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"));
然后您可以寻找更新的按钮
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.