无法使用Selenium WebDriver从dropdrop中进行选择

时间:2016-03-31 16:45:08

标签: selenium

我遇到了在GWT应用程序中选择下拉的问题,我正在考虑它,因为在bootstrap class =" bootstrap-select form-control bs-select-hidden"

任何身体都能正常工作?即使该字段显示在页面上,Selenium驱动程序也认为它没有显示。

使用Cucumber / Selenium / Java

1 个答案:

答案 0 :(得分:1)

引导选择类很烦人。

引导程序选择控件将绑定一个隐藏值,您可以轻松完成设置此隐藏值,并发送javascript更改事件。

在源代码中,您会看到类似的内容,

<select class="js-example-basic-multiple js-states form-control select2-hidden-accessible" multiple="" tabindex="-1" aria-hidden="true">
  <optgroup label="Alaskan/Hawaiian Time Zone">
    <option value="AK">Alaska</option>
    <option value="HI">Hawaii</option>
    ...
  </optgroup>
</select>

例如,在此页面上https://select2.github.io/examples.html 请注意,隐藏了名为'js-example-basic-single'的<select>元素。这是存储值。所以在Selenium中,你可以使用executeScript()方法来触发它。

您可以执行javascript来强制设置值并触发更改事件以触发该控件上的操作。

driver.execute_script("$('.js-example-basic-single').val('HI').trigger('change');return true;")