加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Capybara将选项文本下拉到数组中

发布时间:2020-12-16 21:15:16 所属栏目:百科 来源:网络整理
导读:我想将一个下拉列表的选项放入一个通常在水豚中的数组中.在这个过程之后,我希望有一个字符串的arrray,包含所有下拉选项.我已经尝试了下面的代码,但无论选项计数是多少,我的数组的长度都保持为1. periods = Array.new()periods = all('#MainContent_dd')print
我想将一个下拉列表的选项放入一个通常在水豚中的数组中.在这个过程之后,我希望有一个字符串的arrray,包含所有下拉选项.我已经尝试了下面的代码,但无论选项计数是多少,我的数组的长度都保持为1.
periods = Array.new()
periods = all('#MainContent_dd')
print periods.length

解决方法

问题是all(‘#MainContent_dd’)返回所有具有id MainContent_dd的元素.假设这是您的下拉列表并且ID是唯一的,则期望periods.length为1(即句点是选择列表).

你想要做的是获取选项元素而不是select元素.

假设您的HTML是:

<select id="MainContent_dd">
    <option>Option A</option>
    <option>Option B</option>
    <option>Option C</option>
</select>

然后你可以这样做:

periods = find('#MainContent_dd').all('option').collect(&:text)
  p periods.length
  #=> 3
  p periods
  #=> ["Option A","Option B","Option C"]

这样做是:

> find(‘#MainContent_dd’) – 查找要从中获取选项的选择列表> all(‘option’) – 获取选择列表中的所有选项元素> collect(& text) – 收集每个选项的文本并将其作为数组返回

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读