【问题标题】:Select#select does not behave like manually selecting options in select listSelect#select 的行为不像在选择列表中手动选择选项
【发布时间】:2011-12-17 04:55:48
【问题描述】:

如果我有这样的 HMTL:

<select multiple="multiple">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

我选择了两个选项:

browser.select.select "Saab"
browser.select.select "Audi"

两个选项都被选中:

browser.select.selected_options
=> ["Saab", "Audi"] 

我希望只选择最后一个,就像我手动执行相同操作时一样。

=> ["Audi"] 

这是一个错误吗?

环境:Mac OS X 10.6.8、Firefox 7.0.1、ruby 1.9.2p290、selenium-webdriver 2.10.0、watir-webdriver 0.3.5。

【问题讨论】:

    标签: ruby webdriver watir watir-webdriver browser-automation


    【解决方案1】:

    不是错误,这是因为它是一个多选列表,并且您正在依次选择两个值(类似于手动使用“命令”单击)。

    如果您只想设置一个,只需清除调用之间的列表:

    browser.select.select "Saab"
    browser.select.clear
    browser.select.select "Audi"
    

    【讨论】:

    • 问题是:为什么它的行为就像我按住 ctrl/cmd 键一样?为什么手动单击选项时的行为不像? (取消选择上一个选项,然后选择新选项。)
    • 我想这样做是为了方便,不必有单独的命令来选择多个。
    • 也可能是因为我们没有简单的方法来进行 .control_click 所以当键盘修改鼠标点击的选项不容易时,这可能是能够进行多选的最佳选择(如果有的话)目前在 Watir 可以访问。
    猜你喜欢
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多