2016-07-21 56 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"); 

希望它能幫助.. :)