Ссылка Xpath для адресации массива элементов в Selenium - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть 4 элемента span с одинаковыми свойствами на странице.Я попытался нажать на четвертый диапазон с кодом ниже:

selenium.click("css=span:contains('item12_21'):nth-child(4)");

Но я получаю ошибку "элемент не найден".Я пытаюсь нажать на элемент с различными обходными путями, но безуспешно.Я даже пытался указать всю иерархию, но у меня есть узел с именем #document между тегами.Пожалуйста, дайте мне знать, как обрабатывать #document в Xpath.

У меня IE 7, и приложение не совместимо с Firefox, поэтому я работаю с панелью инструментов разработчика IE.Может ли кто-нибудь, пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 20 декабря 2011

Базовый XPath будет выглядеть так:

//span[contains(., 'item12_21')]

Затем (я не до конца уверен, какой вы хотите) вы можете получить четвертый элемент из этого отфильтрованного списка:

(//span[contains(., 'item12_21')])[4]

... или каждый элемент, который является четвертым потомком, подобным этому:

//span[contains(., 'item12_21')][4]

В скобках указан приоритет индексации.

Я надеюсь, что #document элемент будет обойден с помощью этого, но если это не так, вам нужно будет опубликовать некоторые из ваших HTML, чтобы показать контекст ваших элементов.

...