我在一个页面上有两个下拉菜单。
第一个下拉列表:
<select name="ddlColor_N" onchange="javascript:setTimeout('__doPostBack('ddlColor_N','')', 0)" id="ddlColor_N" class="Searchddl" style="text-decoration: none; width: 152px; height: 22px;">
<option selected="selected" value="">Select</option>
<option value="91_CC_A">Red</option>
<option value="248_PS_A">Green</option>
<option value="27_CG_A">Yellow</option>
</select>
第二个下拉
<select name="ddlFruit_N" id="ddlFruit_N" class="Searchddl" style="text-decoration: none; width: 152px; height: 22px;">
<option value="">Select</option>
<option value="447">Grapes</option>
<option value="448">Mango</option>
<option value="449">Apple</option>
</select>
当我在第一个下拉列表中点击红色时,在第二个下拉列表中将在几秒钟后自动加载苹果。
我的问题来了,我如何才能等待第二个下拉列表完全加载。
Am使用C#谢谢
请尝试以下代码。我们将检查要加载的选项。
public static SelectElement FindSelectElementWhenPopulated(IWebDriver driver, By by, int delayInSeconds)
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(delayInSeconds));
return wait.Until<SelectElement>(drv =>
{
SelectElement element = new SelectElement(drv.FindElement(by));
if (element.Options.Count >= 2)
{
return element;
}
return null;
}
);
}
我这样称呼它:
Myclass.FindSelectElementWhenPopulated(driver, By.CssSelector("#ddlFruit_N"), 20);