在 selenium webdriver 中收集 <u>l 的 <li> 个元素
collect <li> elements of <u>l in selenium webdriver
我的网页上有广告列表。这些广告显示在 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 元素并点击任意随机广告
您只是试图找到 ul
的列表,但实际上您需要更深入地查找所有 li
个元素
List<WebElement> allads = driver.findElements(By.cssSelector("#adList li"));
我的网页上有广告列表。这些广告显示在 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 元素并点击任意随机广告
您只是试图找到 ul
的列表,但实际上您需要更深入地查找所有 li
个元素
List<WebElement> allads = driver.findElements(By.cssSelector("#adList li"));