2016-07-21 115 views
0

我试图使用下拉选择,但它给我的错误定位:异常螺纹:UnexpectedTagNameException

异常线程“main” org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“选择” 但 “输入”

与ByIndex,根据值但试过它不工作

代码

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"/> 

回答

1

由于异常清楚说你是定位input元素,但试图为select元件的作用。

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

您需要验证您提供的ID ctl00_MainContent_ddlLocale_Inputinput元素或select元素的ID。

如果你的情况ctl00_MainContent_ddlLocale_Input两者相同inputselect元素,那么你需要尝试usimg cssSelector指定select元素如下: -

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

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

希望它能帮助.. :)