无法选择下拉值

时间:2017-02-15 13:54:27

标签: javascript selenium

我正在尝试选择下拉值。有时它从下拉列表中选择。一段时间我得到'元素不可见异常:元素不可见'。当它无法选择时,它的可见性是错误的。所以我尝试了明确的等待,但我有时间超时。我尝试过使用Javascriptexecuotr。有人可以帮我吗?

<select class="transport-date-month ddlMonth" 
      data-bind="bookingSelect: travelDate, property: 'month', type: 'date', 
      css: { bindedValue: isBindedFromHoliday() }, 
      event: { change: setArrivalDate() }">
    <option value="-1" selected="selected"></option>
    <option value="Jan">Jan</option>
    <option value="Feb">Feb</option>
    <option value="Mar">Mar</option>
    <option value="Apr">Apr</option>
    <option value="May">May</option>
    <option value="Jun">Jun</option>
    <option value="Jul">Jul</option>
    <option value="Aug">Aug</option>
    <option value="Sep">Sep</option>
    <option value="Oct">Oct</option>
    <option value="Nov">Nov</option>
    <option value="Dec">Dec</option>
</select>

1 个答案:

答案 0 :(得分:0)

真实用户是通过webdriver模拟的,因此不可能与隐形或隐藏元素进行交互。要解决此问题,请添加div,单击div以使下拉列表可见,然后选择一个选项。尝试类似:

<div class:"myclass">
<select id="selectID" class="transport-date-month ddlMonth"
...
</div>



WebDriverWait wdw= new WebDriverWait(driver, 300);
WebElement we = driver.findElement(By
                .className("myclass"));
we.click();
WebElement selectElement = wdw.until(ExpectedConditions
                  .visibilityOfElementLocated(By.id("selectID")));
Select select = new Select(selectElement);
select.selectByVisibleText("SECURITY");
相关问题