0

我正在尝试使用 Select 定位下拉菜单,但它给了我错误:

线程“main”org.openqa.selenium.support.ui.UnexpectedTagNameException 中的异常:元素应该是“select”,但是是“input”

尝试使用 ByIndex,ByValue 但它不起作用

代码

Select dropdown = new 
Select(driver.findElement(By.id("ctl00_MainContent_ddlLocale_Input")));
    //dropdown.selectByIndex(2);
     dropdown.selectByValue("Austria: Vienna");

HTML

td class="rcbInputCell rcbInputCellLeft" style="width:100%;">
<input id="ctl00_MainContent_ddlLocale_Input" class="rcbInput ui-widget-    content" type="text" value="Austria: Vienna"     name="ctl00$MainContent$ddlLocale" autocomplete="off"/>
4

1 回答 1

1

作为例外,明确表示您正在定位input元素但试图作为select元素工作。

new Select()select当您提供元素作为输入时,期望元素input作为输入。

您需要验证您提供ctl00_MainContent_ddlLocale_Input的 id 是input元素或select元素的 id。

如果在您的情况下和元素ctl00_MainContent_ddlLocale_Input都相同,那么您需要尝试使用 simg来指定元素,如下所示:-inputselectcssSelectorselect

Select dropdown = new Select(driver.findElement(By.cssSelector("select#ctl00_MainContent_ddlLocale_Input"))); 

//dropdown.selectByIndex(2);
dropdown.selectByValue("Austria: Vienna");

希望能帮助到你..:)

于 2016-07-21T09:14:43.753 回答