当状态被选中时(从下拉框中),我会动态显示位置列表。列表中的每个项目都是一个超链接,可打开另一个包含其他详细信息的页面。 如您在下面看到的html代码所示,未使用“选择”或“表”对列表进行标记。 在这种情况下,在Selenium中,我的理解是我将无法知道no的计数。选择状态时显示的位置数,因为实际上这不是列表。 我的理解正确吗?
(我可以在项目上使用linkText()。click(),并且可以正常工作。)
<div class="blk">
<div class="smlhead">
Places
</div>
<div id="divPlacesCont" class="sbarPrnt" style="height: 179.219px;">
<div id="divPlaces" class="tilewrap sbarcont" style="height: 179px;">
<div class="blksmlr smlhead sngline">
<a href="#" onclick="javascript:mcSearch.placeSelected(this, '12');">hyd</a>
</div>
<div class="blksmlr smlhead sngline">
<a href="#" onclick="javascript:mcSearch.placeSelected(this, '7');">Hyderabad</a>
</div>
</div>
<div class="sbar" style="display: none;">
<div class="sbarpos" style="height: 152.576px; top: 0px;"></div>
</div>
</div>
</div>
答案 0 :(得分:1)
通过ID:divPlaces获取对WebElement的引用
WebElement element = driver.findElement(By.id("divPlaces"));
// find all links inside
List<WebElements> list = element.findElements(By.xpath(".//a"));
现在显然您可以检查列表的大小,以查看有多少链接。
list.size();
然后使用列表中的元素进行任何操作。