从下拉菜单中选择项目

时间:2018-09-03 12:45:10

标签: python selenium dropdown

我需要使用硒从下拉列表中选择一个项目。该网站看起来像这样

 <div class="chosen-drop">
  <div class="chosen-search"><input type="text" autocomplete="off"></div>
  <ul class="chosen-results">
     <li class="active-result style="" data-option-array-index="0">Please choose your main activity</li>
     <li class="active-result" style="" data-option-array-index="1">Animals and Pets</li>
     <li class="active-result" style="" data-option-array-indexx="2">Art and Culture</li>
     <li class="active-result" style="" data-option-array-index="3">Babies</li>
     <li class="active-result" style="" data-option-array-index="4">Beauty and Personal Care</li>
     <li class="active-result" style="" data-option-array-index="5">Cars</li>
     <li class="active-result" style="" data-option-array-index="6">Computer Hardware and Software</li>
        </ul>

如何选择/单击“汽车” / data-option-array-index =“ 5”?

2 个答案:

答案 0 :(得分:0)

我相信您可以使用一个简单的CSS选择器来使用:nth-​​child获得想要的元素。例如,要获得2个条目,您可以编写以下选择器:

.choosen-drop ul> li:nth-​​child(2)

答案 1 :(得分:0)

您可以像执行Java一样执行此操作,因此我可以用Java编写代码。首先列出LIST中的所有定位符,然后使用For- Each和if else,您可以选择特定项目并执行操作

//Locate all elements in list
List<WebElement> dropEle= driver.findElements(By.xpath("//ul[@class='chosen-results']//li"));
for (WebElement tempEle : dropEle) {
//condition to check text
            if(tempEle.getText().contains("Cars"))
            {
             // Do operations
                System.out.println("Pass");
            }
        }