У меня небольшая проблема с xpath в seleniumdriver.xPath в селене с несколькими помещениями в слоях нескольких узлов
Я бы хотел, чтобы xpath-локатор сузил свой выбор двумя переменными, используя точное соответствие в разных точках узла hiearchy. Эта часть выполнена.
Вы можете представить себе мой случай как обращение к двумерному массиву в xml с помощью xPath, причем каждое измерение задается как две переменные, которые у меня есть (они представляют собой стандартный поиск текста через переменные js, а не переменные xpath).
То, с чем я борюсь, состоит в том, что полученная конструкция не говорит о различии между элементами первого измерения, поэтому, если данное значение переменной является одним из размеров, оно будет адресовать каждый элемент во втором измерении хорошо. Я не могу предположить, что они уникальны или они находятся в любом порядке. Я использую его для тестирования, поэтому это неприемлемо.
Как я могу сформировать выражение, которое не будет делать ту же ошибку? Я пробовал выражение 'и', но обе инструменты selenium и xpath говорят, что значение '1' для 'found', но это не дает мне локатор узлов для работы.
Пример: моя структура выглядит аналогичной, поэтому, обращаясь к ней правильно, x1/y1, например, выглядит нормально.
//x1//y1
//x1//y2
//x2//y3
//x2//y4
//x3//y5
//x3//y6
Должен работать, работает нормально.
//x1x//y1
//x1x//y2
//x2x//y3
//x2x//y4
//x3x//y5
//x3x//y6
(Давать несуществующий вход в качестве 1-го измерения.) Мой вход не является отказоустойчивой, я смотрю на точное значение, так что тесты не здесь, как они должны.
//x2//y1
//x2//y2
//x3//y3
//x3//y4
//x1//y5
//x1//y6
DING локатор находит Y значения здесь, когда он не должен (как у Vales находятся на разных листьях дерева узлов). Мне нужна помощь в этом.
Вот локатор в вопрос:
return element(by.xpath(".//div[@name='typeList']//div[.//text()='" + moduleName + "']//div[./text()='" + typeName + "']")).getText();
TypeList это имя владельца элемента, он не делает никаких, если я Всё различие удалить его, но, пожалуйста, имейте это в виду, давая мне примеры.
Ваша структура путает меня. Сначала я подумал, что x и y где теги, но в вашем XPath вы ищете текст. Вы знаете, какой из них он находит? – cvesters
Позвольте мне сказать другим способом. Я тестирую, чтобы проверить, что «файлы» находятся в их правильных «каталогах». Значения x в примере - это каталоги, а y - файлы. Я могу найти правильные элементы через их текстовое значение через переменные. Сам х и у - это просто примеры. Они не являются тегами, они представляют собой возможные значения для переменных текстового поиска. – hardcore
Да, я знаю, какой элемент найден. – hardcore