我的网页上有广告列表。这些广告显示在ID为adList的标记下。从我想要点击任意广告的广告
所以我所做的如下:
List<WebElement> allads = driver.findElements(By.id("adList"));
assertNotNull(allads);
System.out.println(allads.size());
Random random = new Random();
int index = 0;
for (int i = 1; i <= allads.size(); i++) {
index = random.nextInt(allads.size());
}
allads.get(index).click();
但是当我运行代码时没有点击广告,当我检查allads.size()时,它显示为1,这是错误的,因为有多个ID如下所示
<ul id="adList" data-pageno="2">
<div id="feedList">
<li id="210846759">
<li id="210847160">
<li id="210845605">
<li id="210841804">
<li id="210846830">
<li id="210846163">
<li class="adbannerli">
<li id="210844135">
<li id="210845467">
<li id="210619597">
<li id="200780114">
<script type="text/javascript">
</ul>
如何获取所有li元素并点击任意随机广告
答案 0 :(得分:2)
您只是尝试找到ul
的列表,但事实上您需要更深入并找到所有li
元素
List<WebElement> allads = driver.findElements(By.cssSelector("#adList li"));