Выберите n-й сопоставленный узел из списка совпадающих узлов - PullRequest
2 голосов
/ 05 октября 2011

Я работаю с селеном, чтобы выполнить некоторую автоматизацию, и я пытаюсь взаимодействовать с моей веб-страницей, используя селекторы Selenium и CSS.

Мой вопрос заключается в том, как выбрать n-й сопоставленный узел, возвращаемый из спискаиз всех совпадающих узлов?

Например, мой селектор CSS - ".contactName", который возвращает 2 совпадающих узла.Используя Selenium, я хочу сделать что-то вроде

selenium.Click("css=.contactName the second match");

Любая помощь очень ценится.

Ответы [ 2 ]

4 голосов
/ 05 октября 2011

Это то, что я использовал для выбора второго входа с именем класса

selenium.Click("xpath=(//input[@class='contactName'])[2]");
2 голосов
/ 05 октября 2011

У этих двух узлов один родитель?Если это так, вы можете попробовать один из них, в зависимости от того, где они находятся под своим родителем в DOM и есть ли какие-либо другие виды элементов:

selenium.Click("css=.contactName:nth-child(2)");
selenium.Click("css=.contactName + .contactName");
selenium.Click("css=.contactName ~ .contactName");

Если эти два узла не используют один и тот жеparent, вам, вероятно, придется использовать локатор XPath вместо CSS:

selenium.Click("xpath=//*[@class='contactName'][2]");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...