Перейти к содержимому

Фотография

xpath. Переход по дочерней ссылке


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Wazzkabar

Wazzkabar

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Wazzkabar

Отправлено 16 апреля 2019 - 14:01

Не понимаю, почему в Katalon при ClickAt:

xpath=(//a[@data-analytics-placement])[3] отрабатывает корректно. Но если убрать xpath= и скобки, то корректно отработает только, если у пути указать дочерний элемент на 1 меньше:

//a[@data-analytics-placement][2] .

Если не уменьшить, то он кликнет по предшествующему элементу.

 

То есть в тегах "a" ищутся атрибуты data-analytics-placement и выбирается третий по порядку. Но в первом случае просчитывается путь от единицы, а во втором случае с нуля. Почему?

Тест на официальном сайте hearthstone

 

Причём

//a[@data-analytics-placement][2]  =  xpath=(//a[@data-analytics-placement][3])


  • 0

#2 Wazzkabar

Wazzkabar

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Wazzkabar

Отправлено 16 апреля 2019 - 18:59

Ребят, исправляю последнюю строчку:

 

//a[@data-analytics-placement][3]  =  xpath=(//a[@data-analytics-placement][3])


  • 0

#3 Wazzkabar

Wazzkabar

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Wazzkabar

Отправлено 18 апреля 2019 - 08:53

Я нашла ответ на свой вопрос, спасибо за АКТИВНОЕ участие в обсуждении.

При записи //a[@data-analytics-placement][2] не считается от нуля. А берётся именно тот порядковый номер, который идёт прямо подряд. Т.е. должно соблюдаться условие, что, например при записи [4] берётся именно 4 по порядку атрибут с тегом <a>, а не четвёртый тег с атрибутом.

 

Вопрос закрыт


  • 0

#4 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 18 апреля 2019 - 09:21

Возможно, если бы было понятнее в чем именно проблема, ответов было бы больше.

 

В начале Вы одним способом скобки указали, ниже в "равенстве" уже другим.

Фраза "в тегах "a" ищутся атрибуты data-analytics-placement" - неправильная сама по себе, т.к. локатор предполагает не поиск аттрибутов в тэгах, а поиск элементов (тэгов) с указанными значениями аттрибутов. Это не одно и тоже.

При этом, так и не понятно, в чем проблема - смотрите, как считается, и указываете соответствующий номер, хоть с 0 там отсчет, хоть с 1, хоть со скольки угодно.

В результате, лично у меня после первого сообщения получилась какая-то непонятная каша в голове. 

 

Ваше "//a[@data-analytics-placement][3]  =  xpath=(//a[@data-analytics-placement][3])" - ещё больше сбило с толку, т.к. стало не ясно, что же не так то тогда, "равенство" на первый взгляд выглядит адекватным.

 

Про "прямо подряд" - добавило к непонятности. Бывает "непрямо подряд"? 

Не понятно, что значит "4 по порядку атрибут с тегом". Это так не работает. У аттрибутов нет тэгов.

 

 

 

Я нашла ответ на свой вопрос, спасибо за АКТИВНОЕ участие в обсуждении.

 

Пожалуйста.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных