[英]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 Dropdown。
問題是您必須單擊選擇。 然后,僅將列表添加到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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.