首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java selenium从列表中随机选择项

使用java selenium从列表中随机选择项
EN

Stack Exchange QA用户
提问于 2018-08-21 04:28:34
回答 1查看 5.9K关注 0票数 0

我有下面的代码片段

代码语言:javascript
复制
<div class="space-10"></div>
<form action="/book/index" method="post" class="form-inline" >
<div class="row no-margin no-padding">
<div class="form-group col-sm-3 col-xs-12 no-margin-padding">
   <select id="sport" name="sport" data-style="form-control">
      <option value="">Välj sport</option>
      <option value="1" 
         data-content="<i class='ma ma-Tennis'></i> Tennis">Tennis</option>
      <option value="2" 
         data-content="<i class='ma ma-Badminton'></i> Badminton">Badminton</option>
      <option value="3" 
         data-content="<i class='ma ma-Squash'></i> Squash">Squash</option>
      <option value="4" 
         data-content="<i class='ma ma-Bordtennis'></i> Bordtennis">Bordtennis</option>
      <option value="5" 
         data-content="<i class='ma ma-Padel'></i> Padel">Padel</option>
      <option value="6" 
         data-content="<i class='ma ma-Övrigt'></i> Övrigt">Övrigt</option>
      <option value="7" 
         data-content="<i class='ma ma-Pickleball'></i> Pickleball">Pickleball</option>
   </select>
</div>

我要从名单中随机选择一个项目。我已经尝试过所有可能的选择器,但是获取元素时没有发现错误。

EN

回答 1

Stack Exchange QA用户

发布于 2018-08-21 07:03:02

我希望下面的代码能帮到你:

代码语言:javascript
复制
Select dropdown = new Select(driver.findElement(By.id("id")));

//Get all options
List<WebElement> dd = dropdown.getOptions();
int index = 0;//if list contains only one element it will take that element
if(dd.size()>1){
   //Get a random number between 1, size of dd
    random rand = new Random();
    index = rand.nextInt(dd.size()-1);
 }else if(dd.size()<1){
    //print error message
     int = -1;
 }
 if (index >= 0){
     dropdown.selectByIndex(index);
 }
票数 2
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/35297

复制
相关文章

相似问题

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