首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用水豚选择选项

无法使用水豚选择选项
EN

Stack Overflow用户
提问于 2022-07-22 07:16:48
回答 2查看 112关注 0票数 0

我无法使用capybara从html元素中选择一个选项。

代码语言:javascript
运行
复制
   <select multiple="multiple" name="profile_invitation[permissions][]" id="profile_invitation_permissions">
    <option value="manage_permissions">Manage Permissions</option>
    </select>

我试过了

代码语言:javascript
运行
复制
#within 'select#profile_invitation_permissions' do
    #find("option[@value='manage_permissions']").click
  #end

回传

代码语言:javascript
运行
复制
Unable to find css "option[@value='manage_permissions']" within #<Capybara::Node::Element tag="select" path="/html/body/div/div/main/div/div[2]/div[3]/div/div[2]/form/select"> (Capybara::ElementNotFound)

我试过了

代码语言:javascript
运行
复制
select "Manage Permissions", :from => "select#profile_invitation_permissions"

回传

代码语言:javascript
运行
复制
 Unable to find select box "select#profile_invitation_permissions" that is not disabled and Unable to find input box with datalist completion "select#profile_invitation_permissions" that is not disabled (Capybara::ElementNotFound)
EN

回答 2

Stack Overflow用户

发布于 2022-07-22 07:36:12

您有两个"Manage Permissions"/value='manage_permissions'选项标记,为什么属性选择器中有@value=而不是value=

票数 1
EN

Stack Overflow用户

发布于 2022-07-23 01:33:29

你让事情变得更复杂了。从docs - https://rubydoc.info/github/teamcapybara/capybara/Capybara/Node/Actions#select-instance_method -我们可以看到,select接受要选择的选项的文本,并且可以选择一个from设置来指定选择框的id、名称或标签。因此,如果页面上只有一个“管理权限”选项,则只需执行即可。

代码语言:javascript
运行
复制
select 'Manage Permissions'

如果页面上有多个匹配选项,则可以使用from选项缩小其范围。

代码语言:javascript
运行
复制
select 'Manage Permissions', from: 'profile_invitation_permissions'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73076490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档