繁体   English   中英

选择列表中的选项后,Watin不更新按钮

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM