首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当列表很长时,从下拉列表中选择一个选项

当列表很长时,从下拉列表中选择一个选项
EN

Stack Overflow用户
提问于 2022-05-23 05:24:57
回答 1查看 150关注 0票数 0

我正在使用robot framework 浏览器库来自动化UI。

UI有这样一个下拉列表,一个相当长的列表。

样本下垂

短视频HTML的外观

示例HTML:

代码语言:javascript
复制
<div class="rc-virtual-list-holder-inner" style="outline: green dotted 2px !important;">
   <div aria-selected="false" class="ant-select-item ant-select-item-option" title="Singapore Codeswitch 16k" style="">
      <div class="ant-select-item-option-content">Singapore Codeswitch 16k</div>
      <span class="ant-select-item-option-state" unselectable="on" aria-hidden="true" style="user-select: none;"></span>
   </div>
   <div aria-selected="false" class="ant-select-item ant-select-item-option" title="manualtest8020-v1-8k">
      <div class="ant-select-item-option-content">manualtest8020-v1-8k</div>
      <span class="ant-select-item-option-state" unselectable="on" aria-hidden="true" style="user-select: none;"></span>
   </div>
   <div aria-selected="false" class="ant-select-item ant-select-item-option" title="mmlntu-v1-8k">
      <div class="ant-select-item-option-content">mmlntu-v1-8k</div>
      <span class="ant-select-item-option-state" unselectable="on" aria-hidden="true" style="user-select: none;"></span>
   </div>
   <div aria-selected="false" class="ant-select-item ant-select-item-option" title="semicolon:test123-v1-8k">
      <div class="ant-select-item-option-content">semicolon:test123-v1-8k</div>
      <span class="ant-select-item-option-state" unselectable="on" aria-hidden="true" style="user-select: none;"></span>
   </div>
   <div aria-selected="false" class="ant-select-item ant-select-item-option ant-select-item-option-active" title="train-again-v1-16k" style="">
      <div class="ant-select-item-option-content" style="">train-again-v1-16k</div>
      <span class="ant-select-item-option-state" unselectable="on" aria-hidden="true" style="user-select: none;"></span>
   </div>
</div>

测试用例

代码语言:javascript
复制
*** Settings ***
Library     Browser

*** Test Cases ***
Upload New Dual Channel Audio
    Fill Text    ${TextField-Job-Name}     ${RandomNumber}
    click   //input[contains(@type,'search')]
    Select Options By     //div[contains(@class,'ant-select-item ant-select-item-option ant-select-item-option-active')]     text    Model-1-wav-stm-only-v1-8k

然而,出现了以下错误:

代码语言:javascript
复制
Error: locator.selectOption: Error: Element is not a <select> element
=========================== logs ===========================
waiting for selector "//div[contains(@class,'ant-select-item ant-select-item-option ant-select-item-option-active')]"
  selector resolved to visible <div aria-selected="false" title="16000samplerate-60t…>…</div>
  selecting specified option(s)
  Element is not a <select> element
============================================================
EN

回答 1

Stack Overflow用户

发布于 2022-05-25 08:48:09

通过对元素使用Hover,然后对元素上的Click进行计算。

代码语言:javascript
复制
*** Settings ***
Library     Browser

*** Test Cases ***
Upload New Dual Channel Audio
    Fill Text    ${TextField-Job-Name}     ${RandomNumber}
    click   //input[contains(@type,'search')]
    Hover    //div[@class='ant-select-item-option-content'][contains(.,'${value}')]
    Click   //div[@class='ant-select-item-option-content'][contains(.,'${value}')]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72343573

复制
相关文章

相似问题

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