在selenium web驱动程序中,列表“#selectDefaultTimePeriod_listbox li.k-item”包含一组值。但是在执行时,列表不会产生下拉值。因此,我无法单击下拉列表中的特定元素。
在给出断点并执行相同的行时,它会给出下拉值。
var elements = Driver.FindElements(By.CssSelector("#selectDefaultTimePeriod_listbox li.k-item"));
元素变量给出计数但不包含下拉选项值(li.k-item value)
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>
请告诉我,是否还有其他选项可以点击该元素?
答案 0 :(得分:0)
试试这个
的document.getElementById(&#39; selectDefaultTimePeriod&#39;)值。(&#39; value_to_select&#39)
或者使用jQuery这个
$(&#39;#selectDefaultTimePeriod&#39)。VAL(&#39; value_to_select&#39)