无法使用正确的xpath

时间:2016-05-20 10:11:27

标签: selenium xpath

我的AUT有不同的标签来测试和验证各种WebElements,它们具有几乎相同的属性,出现在这些标签上。 我需要验证下拉搜索框并验证下拉列表中列出的选项。 我的脚本找不到这个下拉菜单框,而xpath在firebug中工作得很好,可以识别搜索框。

显示的错误是:

  

线程中的异常" main" org.openqa.selenium.NoSuchElementException:无法找到元素:{"方法":" xpath","选择器":" // div [@类=' BTN-组'] /选择[@id =' selectBS']"}

我的脚本如下:

if(Driver.findElement(By.xpath("//div[@class='btn-group']/select[@id='selectBS']")).isDisplayed());
{
    System.out.println(" drop down box is displayed on the View Bill screen");
}

HTML如下:

<div class="col-md-5 col-sm-6 col-xs-12">
   <div class="row panel panel-default panel-heading">
      <div class="col-sm-4 col-xs-12">
         <div class="dropdown">
            <div class="btn-group">
               <select id="selectBS" class="ng-pristine ng-valid ng-touched" ng-change="getBasicSearchSelectedOption()" ng-model="basicSearchSelectedOption" ng-options="option.text for option in basicSearchoptions track by option.index">
                     <option value="0" selected="selected" label="Search For..">Search For..</option>
                     <option value="1" label="Invoice Group Number">Invoice Group Number</option>
                     <option value="2" label="Account Number">Account Number</option>
                     <option value="3" label="Account Name">Account Name</option>
                     <option value="4" label="Type">Type</option>
               </select>
           </div>
       </div>
   </div> 

请告诉我可能出错的原因,以及为什么Selenium无法使用xpath找到该元素,而它在xpath中工作正常。 另外,如果我的xpath不正确,请告诉我。

1 个答案:

答案 0 :(得分:0)

检查是否存在,然后执行某些操作以使选项可见并检查选项是否可见。如果这些工作,那么对于类型为select的元素,可能是一个检查isDisplayed的问题。