2016-07-21 5 views
0

ich versuche zu lokalisieren Dropdown mit Select aber sein gibt mir Fehler:Exception in thread: UnexpectedTagNameException

Exception in thread "main" org.openqa.selenium.support.ui.UnexpectedTagNameException: Element hätte sein müssen "wählen", sondern war "input"

Versuchte mit ByIndex, ByValue aber seine nicht funktioniert

-Code

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

Antwort

1

Als Ausnahme klar sagen Sie das input Element lokalisieren, sondern versuchen, so select Element zu arbeiten.

new Select() erwartet select Element als Eingabe, während Sie input Element als Eingabe bereitstellen.

Sie müssen Ihre angegebene ID bestätigen ctl00_MainContent_ddlLocale_Input ist die ID input Element oder select Element.

Wenn in Ihrem Fall die ctl00_MainContent_ddlLocale_Input für beide input und select Elemente, dann müssen Sie versuchen, cssSelector usimg select Element angeben, wie folgt: -

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

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

Hoffe, es hilft .. :)

Verwandte Themen