我的 html 示例代码是,
<div class="list">
<div class="dropdown">
<ul role="menu">
<li class="rsbListItem">one</li>
<li class="rsbListItem">two</li>
<li class="rsbListItem">three</li>
<li class="rsbListItem">four</li>
<li class="rsbListItem">five</li>
<li class="rsbListItem">six</li>
<li class="rsbListItem">seven</li>
<li class="rsbListItem">eight</li>
</ul>
</div>
</div>
我如何为此编写 Selenium 脚本,并且每次运行时应该随机选择。
我尝试随机选择元素,但每次都选择相同的元素。这是我的代码。
List<WebElement> options = driver.findElements(By.xpath("//*[@role='menu']"));
Random rand = new Random();
int list= rand.nextInt(options.size());
options.get(list).click();
最佳答案
Selenium 不是我的菜,但是
List<WebElement> options = driver.findElements(By.xpath("//*[@role='menu']"));
这将返回与您的请求匹配的 WebElement
列表。所以你应该让元素(我猜应该只是一个)来使用它。我猜你也可以使用 findElement
。
然后,您将需要获取您所选择的每个 Option
。
List<WebElement> selects = driver.findElements(By.xpath("//*[@role='menu']"));
Random rand = new Random();
for(WebElement select : selects){
List<WebElement> options = // get every option in it
int list = rand.nextInt(options.size());
options.get(list).click();
}
关于java - 从下拉列表中随机选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44587164/