2013-07-30 4 views
0

Для кода нижеНевозможно щелкнуть элементы в динамическом списке

<li class="user ui-menu-item" role="presentation"> 
    <a id="ui-id-52" class="ui-corner-all" tabindex="-1"> 
    <em>User:</em> 
     Staff User 
    </a> 
</li> 

Это сценарий:

Существует текстовое поле, в котором я ввожу имя Staff, с этим связанное значения для персонала отображаются в динамическом списке, в приведенном выше сценарии id динамически генерируется, и когда я попытался выбрать значение на class, он будет одинаковым для всех элементов.

Я хочу выражение xpath, чтобы выбрать первые доступные параметры в списке. Я пробовал по-разному, как с contains и start-with, но бесполезно. Пожалуйста, дайте мне знать ваше ценное предложение.

Thanks in Advance Шива.

+0

Является HTML выше списка генерируемой после ввода «Персонал» в текстовое поле? –

+0

@Alex Да, это выше HTML –

+0

Помог ли вам один из ответов ниже? –

ответ

0

Я думаю, что это должно работать

WebElement ele = webdriver.findElement(By.Xpath("//li[@class='user ui-menu-item'][1]")) 
+0

Спасибо за вашу помощь, это прекрасно работает ... Спасибо большое ... –

0

Вы пытались сформировать List, а затем просто с использованием первого элемента этого List?

List<WebElement> list = driver.findElements(By.xpath("//li[@class(contains, 'user')]"; 
list[0].getText(); 

Я все еще не на 100% уверен, что вы хотите сделать с элементом, как только вы его нашли. Вероятно, было бы лучше сформировать List, затем перебрать этот список и выполнить любое действие, необходимое для element.

0

Используйте XPath. Он должен работать

// Ли [@role = 'презентации'] // а [1]

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