在 Selenium Webdriver (Java) 中检查 bootstrap 下拉值
Checking for a bootstrap dropdown Value in Selenium Webdriver (Java)
我有一个如下所示的下拉菜单,我想使用 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下拉菜单。
问题是您必须单击 select。然后只将列表添加到 DOM[列表将可见]
您可以使用此 xpath 检查选项的可用性
//div[@class='select2-result-label'][text()='optionText']
但在此之前你必须点击select container.Most可能会是
//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 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下拉菜单。
问题是您必须单击 select。然后只将列表添加到 DOM[列表将可见]
您可以使用此 xpath 检查选项的可用性
//div[@class='select2-result-label'][text()='optionText']
但在此之前你必须点击select container.Most可能会是
//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");