当前位置: 首页 > 知识库问答 >
问题:

如何在不使用select类的情况下从下拉列表中选择值,因为在“范围未选择”的列表框中,下拉列表为列表框?

公冶鸣
2023-03-14
My HTML code is here:
    <fieldset>
<div class="clearfix">
<div class="clearfix">
<div class="clearfix">
<div class="clearfix">
<div class="qs-formfield-short qs-required">
<label for="stateCountry">State or Province</label>
<span class="k-widget k-dropdown k-header" style="" title="" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-owns="stateCountry_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false">
<span class="k-dropdown-wrap k-state-default" unselectable="on">
<span class="k-input" unselectable="on">Please Select...</span>
<span class="k-select" unselectable="on">
<span class="k-icon k-i-arrow-s" unselectable="on">select</span>
</span>
</span>

我的代码如下:

WebElement stateDropDown=驱动程序。findElement(By.xpath(“/html/body/form/div[3]/main/div/div/div/span/div/fieldset/div[4]/div[1]/span/span[1]”);列表选项=状态下拉列表。findElements(By.xpath(“/html/body/div[1]/div/ul/li[44]”);

    for(WebElement opt : options){
        if ("Texas".equals(opt.getText()));
        opt.click();
        System.out.println(opt);

共有2个答案

司空炯
2023-03-14

试着这样做:

Actions action = new Actions(driver);    
WebElement optionsList = driver.findElement(By.xpath("//span[contains(@class, 'k-dropdown-wrap')]"));
action.moveToElement(optionsList);

List<WebElement> options = driver.getElemets(By.xpath("//span[contains(@class, 'k-input')]"));
for(WebElement option : options) {
    if (option.getText().equals("Texas")) {
        option.click();
    }
}

停止向元素写入奇怪的xpath:)

华永逸
2023-03-14

假设您想在此地址选择JDK 1.8(JDK下拉菜单选择java版本)

//Click on Country Dropdown  
        driver.findElement(By.name("JDK")).click();
        List<WebElement> allOptions = driver.findElements(By.xpath("//select[@name='JDK']//option"));
        System.out.println(allOptions.size());                                           
        for(int i = 0; i<=allOptions.size()-1; i++) {
             if(allOptions.get(i).getText().contains("JDK 1.8")) {
                    allOptions.get(i).click();
                break;
 类似资料:
  • 问题内容: 我的代码在这里: WebElement stateDropDown = driver.findElement(By.xpath(“ / html / body / form / div [3] / main / div / div / div / div / span / div / fieldset / div [4] / div [1] / span / span [1]“));

  • 我是硒的新手,我试图从下拉列表中选择一个选项。下拉列表的超文本标记语言如下: WebElement的是: 我已经尝试了几乎所有的方法,我可以在互联网上找到,但没有任何效果。我试图使用类,包装了,但它抛出了一个异常。 我试图丢失列表中的所有选项,但在这种情况下得到了异常应该有标签,但它有。我需要使用作为findelements的标识符。 请帮我解决这个问题。

  • 我无法从selenium webdriver中的下拉列表中选择值。我尝试了所有使用名称和xpath选择器的方法。请帮忙。 代码是:

  • 我正在尝试从下拉列表中选择一个选项,该选项在单击定位器之前不会填充。这是我在Firebug中看到的: 到目前为止,我拥有的代码是: 我得到一个意外的TagNameException:元素应该是“选择”,但是“div”。我不知道如何处理这个,因为我以前只使用过选择。 假设我想为代理代码选择“523-23-20275”。我该怎么做? 感谢您的帮助!谢谢

  • 我在Servlet中使用SortedMap来填充JSP中的下拉列表值,我有以下代码 在JSP中 我正在使用一个 JSP 页进行插入和更新。当我编辑页面时,如何将所选值设置为下拉列表,其中所选值将来自数据库。

  • 下面给出了一段表示下拉列表的代码。我需要在此下拉列表中选择日期值,由<代码> 以下方法无效 1。)使用“按导入组织选择”选择此值。openqa。硒。支持用户界面。选择 控制台显示: 元素应该是“选择”,但应该是“选项” 2.)首先单击下拉列表以显示要选择的选项,然后单击该选项。 控制台显示: 调试元素缺少可访问的名称:id:类型,标记名:选择,类名:文本输入ng原始ng未触及ng有效ng范围 3.