【问题标题】:how to click on strange select list element?如何点击奇怪的选择列表元素?
【发布时间】:2012-07-19 14:36:01
【问题描述】:

我在选择身份不明的下拉菜单中的选项时遇到问题。当我单击下拉箭头时会出现下拉元素,但我无法单击它们,因为我不知道它们的 ID 或其他我可以使用的属性。 这是代码。我无法从 select_list 中选择:

on_page(RegistrationPage).id_of_select_list_with_options = "8"

@browser.select_list(:name => "field_profile_bday[0][value][day]").select("8")

@browser.select_list(:id => "edit-field-profile-bday-0-value-day").select("8")

错误是:元素当前不可见,因此可能无法与 (Selenium::WebDriver::Error::ElementNotVisibleError) 交互

当我点击组合按钮元素下拉列表时出现,但我无法选择其中的元素,因为它们在选择后出现在组合选择的 div 中。 (就像组合选择的 div 中的“Jour”文本一样,默认情况下它就在那里) 这是html:

    <div class="form-item" id="edit-field-profile-bday-0-value-day-wrapper">
 <label for="edit-field-profile-bday-0-value-day">Jour : <span class="form-required" title="Ce champ est obligatoire.">*</span></label>
 <select name="field_profile_bday[0][value][day]" class="form-select required  date-day" id="edit-field-profile-bday-0-value-day" ><option value="" selected="selected">Jour</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>
</div>
<div class="combo-wrapper" style="display: inline-block; width: 61px; height: 24px; " tabindex="0"><div class="combo-button" style="width: 24px; height: 24px; display: inline-block; ">+</div><div class="combo-selected" style="width: 37px; height: 24px; display: inline-block; ">Jour</div></div>
<div class="combo-button" style="width: 24px; height: 24px; display: inline-block; ">+</div>
<div class="combo-selected" style="width: 37px; height: 24px; display: inline-block; ">Jour</div>
"Jour"
</div>

【问题讨论】:

    标签: ruby selenium-webdriver watir-webdriver


    【解决方案1】:

    而不是 .select("8")。尝试类似:

    @browser.select_list(:name => "field_profile_bday[0][value][day]").option(:value, '8').select
    

    @browser.select_list(:name => "field_profile_bday[0][value][day]").options[7].select
    

    我认为您需要指向选项元素,然后使用固有的选择方法。希望这有效。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2019-11-16
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      相关资源
      最近更新 更多