Как я могу динамически изменять свой xpath в Selenium WebDriver?

#java #selenium #dynamic #xpath

#java #selenium #динамический #xpath

Вопрос:

В моем приложении id происходит динамическое изменение, и имя присваивается не всем элементам.

Теперь я хочу применить динамический способ поиска "x path" в другом разделе HTML. Всякий раз, когда я обновляю страницу, значение базы данных может быть добавлено или удалено со страницы.

Итак, есть ли какой-либо способ использовать динамический путь к одному элементу??

Комментарии:

1. Вам нужно будет предоставить некоторый пример HTML-источника для 2 разных экземпляров: «в первый раз, когда я получаю это, в следующий раз, когда я получу это», и, возможно, мы можем предложить XPath на основе некоторых других окружающих непеременных элементов (заголовок абзаца, позиция, некоторая метка и т.д.).

2. Вы пробовали документацию? docs.seleniumhq.org/docs/appendix_locating_techniques.jsp Что-нибудь из этого у вас не работает? Есть ли у вас конкретные примеры кода, с которыми у вас возникли проблемы?

3. Хотите поделиться некоторым HTML-кодом?

4. 1) не полагайтесь на динамические идентификаторы 2) покажите нам свой HTML

5. На самом деле код настолько сложный и длинный. Предположим, что Div динамически добавляет свою высоту и изменяет Xpath. Итак, мне нужен этот подход.

Ответ №1:

Вы можете использовать пользовательский XPath или CSSPath. Этот путь имеет некоторые условия, такие как «ИЛИ», «И» и т.д. Вы также можете использовать некоторые функции, такие как contains(), text(), not() и т.д.

Ссылки : http://www.w3schools.com/xpath/xpath_functions.asp
http://www.w3schools.com/cssref/css_selectors.asp