org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“select”但是“span”

时间:2015-07-18 21:42:18

标签: selenium-webdriver

Selenium webdriver代码

WebElement element=driver.findElement(By.xpath(".//*[@id='css3menu1']/li[3]/a/span"));
        Select se = new Select(element);
        String S =se.getFirstSelectedOption().getText();
        System.out.println(S);
        List<WebElement> allOptions = se.getOptions();
        for (WebElement webElement : allOptions)
        {
            System.out.println(webElement.getText());
        }
        }

这里我想打印所有选项..请帮我摆脱这个错误并打印所有子选项。

org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“select”但是“span”

1 个答案:

答案 0 :(得分:1)

我还无法发表评论,但您正在尝试从错误类型的WebElement创建一个select元素。如果您注意到xpath以span结尾,则表示xpath最终会查找span元素,而不是您想要的select标记。

尝试替换它:

WebElement element = driver.findElement(By.xpath(".//*[@id='css3menu1']/li[3]/a/span"));

用这个:

WebElement element = driver.findElement(By.xpath(".//*[@id='css3menu1']/li[3]/a/select"));

如果这不起作用,请在此选项周围添加html,以便我们可以告诉您正在使用的正确xpath。一旦你这样做,我可以帮你解决这个问题。