我无法从下拉列表中选择一个选项,通过单击输入文本框可以看到该选项。我正在使用Selenium和c#。功能如下;
此列表的HTML是;
<div id='dvCountryList'>
<select class="country-list" id="DestinationPicker" multiple="multiple" name="DestinationPicker">
<option value="AU">Australia</option>
<option value="ID">Indonesia</option>
<option value="FJ">Fiji</option>
<option value="US">United States of America (includes Hawaii)</option>
<option value="CN">China</option>
<option value="XA">Worldwide</option>
<option value="TH">Thailand</option>
</select>
</div>
我的测试代码如下;
IWebElement destination1 = driver.FindElement(By.ClassName("select2-search__field"));
destination1.Click();
IWebElement destination2 = driver.FindElement(By.ClassName("country-list"));
SelectElement country = new SelectElement(destination2);
country.SelectByValue("AU");
运行此测试会产生以下错误;
OpenQA.Selenium.ElementNotVisibleException:元素不可见:元素当前不可见,可能无法操作
我在找到country-list类之前尝试使用等待,但这没有帮助。我对Selenium很新,所以感谢任何帮助/反馈。感谢。
答案 0 :(得分:0)
要识别webelement destination2 ,您已将定位器策略用作driver.FindElement(By.ClassName("country-list"));
,这可能无法唯一标识该元素。要识别元素,可以使用以下代码块:
IWebElement destination2 = driver.FindElement(By.XPath("//select[@class='country-list' and @id='DestinationPicker']"));
SelectElement country = new SelectElement(destination2);
country.SelectByValue("AU");