我的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不正确,请告诉我。
答案 0 :(得分:0)
检查是否存在,然后执行某些操作以使选项可见并检查选项是否可见。如果这些工作,那么对于类型为select的元素,可能是一个检查isDisplayed的问题。