簡體   English   中英

在Selenium Webdriver(Java)中檢查引導程序下拉值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM