t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как с помощью Selenium FireFox выбрать значение из dropdown list?

Теги: #<Tag:0x00007f9afed37ed0> #<Tag:0x00007f9afed37de0> #<Tag:0x00007f9afed37cc8> #<Tag:0x00007f9afed37c00>

Как с помощью Selenium FireFox выбрать значение из dropdown list если он сделан как таблица и в нем нету ID?

< *input name="CountryId_input" class="k-input" type="text" autocomplete="off" title="" role="combobox" aria-expanded="false" placeholder="All" tabindex="0" aria-disabled="false" aria-readonly="false" aria-autocomplete="list" aria-owns="CountryId_listbox" aria-busy="false" aria-activedescendant="954e7ad9-55e5-41df-9b78-93fa0bb2e29b" style="width: 100%;"/> 

Это сама строка .

<*ul unselectable="on" class="k-list k-reset" tabindex="-1" aria-hidden="false" id="CountryId_listbox" aria-live="polite" data-role="staticlist" role="listbox">
<*li tabindex="-1" role="option" unselectable="on" class="k-item k-state-selected k-state-focused" data-offset-index="0" id="954e7ad9-55e5-41df-9b78-93fa0bb2e29b">All</li>
<*li tabindex="-1" role="option" unselectable="on" class="k-item" data-offset-index="1">Afghanistan</li>
<*li tabindex="-1" role="option" unselectable="on" class="k-item" data-offset-index="2">Albania</li>
<*li tabindex="-1" role="option" unselectable="on" class="k-item" data-offset-index="3">Algeria</li>
<*li tabindex="-1" role="option" unselectable="on" class="k-item" data-offset-index="4">American Samoa</li>
<*li tabindex="-1" role="option" unselectable="on" class="k-item" data-offset-index="5">Andorra</li>

а это Drop down list. Заранее спасибо.

//input[@name='CountryId_input']/ul[@id='CountryId_listbox']/li[2]

Xpath кликнет (Afghanistan) в зависимости что надо вибирать (можете написать подробнее и помогу)

.findElement(By.id(“CountryId_input’]).click();
Тут возможно нужно либо даблклик или кнопку вывода списка нажать
потом
.findElement(By.xpath(”//ul[@id=‘CountryId_listbox’]/descendant::li[text()=’"+value+’"]")).click()

вообще по этому куску трудно что то сказать

2 Симпатий

Ошибочка, не[quote=“kulasovvlad, post:3, topic:10755”]

.findElement(By.id("CountryId_input']).click();

[/quote]
а:

.findElement(By.name("CountryId_input']).click();

ага, есть такое

1 Симпатия

Нужно выбрать любую страну, но я использую чисто вебдрайвер в бразуере. Каким образом это можно сделать через select или type, или еще как то , подскажите пожалуйста.

Пишеш на robot framework?

Selenium IDE with FireFox.

Всем спасибо - путь можно указать через Xpath если нету ID.

да, можна я написал же

//input[@name='CountryId_input']/ul[@id='CountryId_listbox']/li[2]

сенкс

welcome

Советую сделать как написал @kulasovvlad
//ul[@id=‘CountryId_listbox’]/descendant::li[2] в будущем будет меньше проблем.