我无法从selenium webdriver中的Country Dropdown中选择国家/地区

时间:2016-11-03 16:12:21

标签: java selenium selenium-webdriver webdriver

wait1.until(ExpectedConditions.elementToBeClickable(countryDrpDwn));
        Actions act=new Actions(driver);
        act.moveToElement(countryDrpDwn).build().perform();
        countryDrpDwn.click();

这是HTML列表,请参阅附件:

    <li class="k-item" data-offset-index="225" unselectable="on" role="option" tabindex="-1">Tokelau</li>
    <li class="k-item" data-offset-index="226" unselectable="on" role="option" tabindex="-1">Tonga</li>
    <li class="k-item" data-offset-index="227" unselectable="on" role="option" tabindex="-1">Trinidad and Tobago</li>
    <li class="k-item" data-offset-index="228" unselectable="on" role="option" tabindex="-1">Tunisia</li>
    <li class="k-item" data-offset-index="229" unselectable="on" role="option" tabindex="-1">Turkey</li>
    <li class="k-item" data-offset-index="230" unselectable="on" role="option" tabindex="-1">Turkmenistan</li>
    <li class="k-item" data-offset-index="231" unselectable="on" role="option" tabindex="-1">Turks and Caicos Islands</li>
    <li class="k-item" data-offset-index="232" unselectable="on" role="option" tabindex="-1">Tuvalu</li>
    <li class="k-item" data-offset-index="233" unselectable="on" role="option" tabindex="-1">Uganda</li>
    <li class="k-item" data-offset-index="234" unselectable="on" role="option" tabindex="-1">Ukraine</li>
    <li class="k-item" data-offset-index="235" unselectable="on" role="option" tabindex="-1">United Arab Emirates</li>
    <li class="k-item" data-offset-index="236" unselectable="on" role="option" tabindex="-1">United Kingdom of Great Britain and Northern Ireland</li>
    <li class="k-item" data-offset-index="237" unselectable="on" role="option" tabindex="-1">United States Minor Outlying Islands</li>
    <li class="k-item" data-offset-index="238" unselectable="on" role="option" tabindex="-1">United States of America</li>
    <li class="k-item" data-offset-index="239" unselectable="on" role="option" tabindex="-1">Uruguay</li>

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

根据提供的图像,国家/地区字段为<input type="text">。这通常表示可以使用sendKeys直接在字段中输入所需文本。示例代码:

driver.findElement(By.xpath("//input[@name='ddlPriCountry_input']")).clear();
driver.findElement(By.xpath("//input[@name='ddlPriCountry_input']")).sendKeys("Australia");

更多详情可在以下答案中找到:How to perform dropdown in BMC Project using Webdriver

原则保持不变。您需要做的是识别xpath以引用li标签。即如果特定需要单击下拉列表并从自动完成列表中选择一个值,则执行单击,等待列表加载并使用以下xpath单击一个国家/地区:

//li[.='Australia']

PS 除非应用程序不支持,否则我没有理由说明为什么您不能使用正确的值对元素执行sendKeys

,如果clear()sendKeys出现问题,您可能需要先点击input,然后使用此代码:

driver.findElement(By.xpath("//input[@name='ddlPriCountry_input']")).click();