gpt4 book ai didi

java - 检查 Selenium Webdriver (Java) 中的 Bootstrap 下拉列表值

转载 作者:行者123 更新时间:2023-11-30 08:01:27 24 4
gpt4 key购买 nike

我有一个如下所示的下拉菜单,我想使用 Java Selenium Web 驱动程序检查该下拉菜单中是否存在特定值。

我需要检查下拉菜单中是否存在值 3。下面是 HTML 片段。

有人可以帮助我了解如何实现这一目标吗?

<div id="select2-drop">
<ul class="select2-results">
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span class="select2-match"></span>
Value 1
</div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span class="select2-match"></span>
Value 2
</div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span class="select2-match"></span>
Value 3
</div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted">
<div class="select2-result-label">
<span class="select2-match"></span>
Value 4
</div>
</li>
</ul>

最佳答案

您使用的是Select2 3.x下拉菜单。

问题是您必须单击选择。然后只有列表被添加到 DOM[列表将可见]

您可以使用此 xpath 来检查选项的可用性

//div[@class='select2-result-label'][text()='optionText']

但在此之前,您必须单击选择容器。很可能它是

 //div[contains(@class,'select2-container')]

我在示例页面上自动化的示例代码

 driver.get("http://select2.github.io/select2/");
WebElement select = driver.findElement(By.xpath("//div[contains(@class,'select2-container')]"));
select.click();
String optionText="Alaska";
List<WebElement> options=driver.findElements(By.xpath("//div[@class='select2-result-label'][text()='"+optionText+"']"));
if(options.isEmpty())
System.out.println("Option not present");
else
System.out.println("Present");

关于java - 检查 Selenium Webdriver (Java) 中的 Bootstrap 下拉列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com