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

Фотография

Поиск по последнему символу в id элемента


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

#1 Pirokar

Pirokar

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

  • Members
  • Pip
  • 23 сообщений

Отправлено 02 сентября 2014 - 12:57

Добрый день! Подскажите, пожалуйста, как мне с помощью xpath либо Webdriver 2 Java найти элемент на странице, id которого заканчивается определенным символом (например, цифрой 5)?

 

Заранее большое спасибо!


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 02 сентября 2014 - 13:00

css:

div[id$='la-la-la5']

div замените на свой элемент


  • 0

#3 Pirokar

Pirokar

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

  • Members
  • Pip
  • 23 сообщений

Отправлено 02 сентября 2014 - 13:23

А xpath? Не хотелось бы смешивать.


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 02 сентября 2014 - 13:26

//BBB[@id='b1']


  • 0

#5 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 02 сентября 2014 - 13:32

//BBB[@id='b1']

это если равен :)

 

2 ТС:

погуглите в сторону ends-with или как-то так


  • 0

#6 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 02 сентября 2014 - 14:22

погуглите в сторону ends-with или как-то так

 

В общем это не сработает, т.к.  ends-with есть только в Xpath 2.0

 

Цитата из скайпа:
 

 

в CSS можно так: div[class$="row"], в XPath 1.0 аналога нет
в XPath 2.0 есть функция ends-with, но он не поддерживается браузерами (с)

 

 

Вывод: использовать вариант, который предложил BabyRoot

 
  • 0

#7 Pirokar

Pirokar

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

  • Members
  • Pip
  • 23 сообщений

Отправлено 02 сентября 2014 - 14:36

Грусть.


  • 0

#8 mazik7

mazik7

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

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Мазик
  • Город:Красноярск

Отправлено 03 сентября 2014 - 01:24

А вам вообще для чего это?) Может быть у вашей задачи есть другие решения, или вы поставили этот вопрос с расчетом "авось пригодится"?


  • 0

:smile:


#9 vmaximv

vmaximv

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

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 03 сентября 2014 - 05:36

Вывод: использовать вариант, который предложил BabyRoot

Либо засесть за спеки xpath 1.0 :)
//*[substring(@id,string-length(@id))='5']

  • 2

#10 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 03 сентября 2014 - 07:52

 

Вывод: использовать вариант, который предложил BabyRoot

Либо засесть за спеки xpath 1.0 :)
//*[substring(@id,string-length(@id))='5']

Круто

 

Если надо проверить что последние 2 цифры равны 45, то писать так:

//*[substring(@id,string-length(@id)-1)='45']

3 цифры  так:

//*[substring(@id,string-length(@id)-2)='745']

  • 0

#11 IvanStawski

IvanStawski

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

  • Members
  • Pip
  • 26 сообщений
  • ФИО:Ставский Иван Михайлович
  • Город:Санкт-Петербург

Отправлено 06 сентября 2014 - 17:49

На всякий случай напишу: Если возможна такая ситуация, что на странице будет несколько таких элементов и возможен вариант, что будет 2 и более элементов с одинаковой цифрой в конце, то лучше все таки указать полностью id. Ибо нужно использовать тогда это: 

 

 

 

Вывод: использовать вариант, который предложил BabyRoot

Либо засесть за спеки xpath 1.0 :)
//*[substring(@id,string-length(@id))='5']

Круто

 

Если надо проверить что последние 2 цифры равны 45, то писать так:

//*[substring(@id,string-length(@id)-1)='45']

3 цифры  так:

//*[substring(@id,string-length(@id)-2)='745']

 

А это не очень читается. Я за краткость.


  • 0


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

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