在Selenium Web驱动程序中,列表“ #selectDefaultTimePeriod_listbox li.k-item”包含一组值。但是在执行时,列表不会产生下拉值。因此,我无法单击下拉菜单中的特定元素。
在给出断点并执行同一行时,它给出了下拉值。
var elements = Driver.FindElements(By.CssSelector("#selectDefaultTimePeriod_listbox li.k-item"));
elements变量提供计数,但不包含下拉选项值(li.k-item值)
foreach (var element in elements)
{
var name = element.Text;
if (timeperiod.Equals(name, StringComparison.InvariantCultureIgnoreCase))
{
element.IsClickable();
element.Click();
break;
}
}
以下是HTML内容
<span class="k-widget k-dropdown k-header" style="width: 150px;" title="" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-owns="selectDefaultTimePeriod_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false" aria-activedescendant="0936dfb5-4f8c-4dd4-826f-f802b6a719ff">
<span class="k-dropdown-wrap k-state-default" unselectable="on">
<select id="selectDefaultTimePeriod" style="width: 150px; display: none;" data-bind="kendoDropDownList:timePeriodOptions" data-role="dropdownlist">
<option value="">Select time period</option>
<option value="Last 30 days">Last 30 days</option>
<option value="Last 60 days">Last 60 days</option>
<option value="Last 90 days" selected="selected">Last 90 days</option>
<option value="Last month">Last month</option>
<option value="Last quarter">Last quarter</option>
<option value="Last 6 months">Last 6 months</option>
<option value="Last 12 months">Last 12 months</option>
<option value="Last 365 days">Last 365 days</option>
<option value="Full year 2016">Full year 2016</option>
</select>
</span>
请让我知道,单击该元素还有其他选择吗?
最佳答案
尝试这个
document.getElementById('selectDefaultTimePeriod')。value('value_to_select')
或与jQuery这
$('#selectDefaultTimePeriod')。val('value_to_select')