2016-07-21 6 views
0

Я пытаюсь найти Dropdown с помощью Select но дает мне сообщение об ошибке:Исключение в потоке: UnexpectedTagNameException

Исключение в потоке «основной» org.openqa.selenium.support.ui.UnexpectedTagNameException: Элемент должен быть "выбрать", но был "вход"

Пробовал с 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"/> 

ответ

1

Как исключение ясно говорит вам местонахождение input элемента, но пытаетесь работать в качестве select элемента.

new Select() ждите select элемент в качестве входных данных, пока вы предоставляете input элемент в качестве входного сигнала.

Вам необходимо подтвердить свой идентификатор ctl00_MainContent_ddlLocale_Input - это идентификатор элемента input или select.

Если в вашем случае ctl00_MainContent_ddlLocale_Input одинаков для обоего input и select элементов, то вам нужно попробовать usimg cssSelector указать select элемент, как показано ниже: -

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

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

Надеется, что это помогает .. :)

Смежные вопросы