Добрый день! Подскажите, пожалуйста, как мне с помощью xpath либо Webdriver 2 Java найти элемент на странице, id которого заканчивается определенным символом (например, цифрой 5)?
Заранее большое спасибо!
Отправлено 02 сентября 2014 - 12:57
Добрый день! Подскажите, пожалуйста, как мне с помощью xpath либо Webdriver 2 Java найти элемент на странице, id которого заканчивается определенным символом (например, цифрой 5)?
Заранее большое спасибо!
Отправлено 02 сентября 2014 - 13:00
css:
div[id$='la-la-la5']
div замените на свой элемент
Отправлено 02 сентября 2014 - 13:23
А xpath? Не хотелось бы смешивать.
Отправлено 02 сентября 2014 - 13:26
//BBB[@id='b1']
Отправлено 02 сентября 2014 - 13:32
//BBB[@id='b1']
это если равен :)
2 ТС:
погуглите в сторону ends-with или как-то так
Отправлено 02 сентября 2014 - 14:22
погуглите в сторону ends-with или как-то так
В общем это не сработает, т.к. ends-with есть только в Xpath 2.0
Цитата из скайпа:
в CSS можно так: div[class$="row"], в XPath 1.0 аналога нет
в XPath 2.0 есть функция ends-with, но он не поддерживается браузерами (с)
Вывод: использовать вариант, который предложил BabyRoot
Отправлено 02 сентября 2014 - 14:36
Грусть.
Отправлено 03 сентября 2014 - 01:24
А вам вообще для чего это?) Может быть у вашей задачи есть другие решения, или вы поставили этот вопрос с расчетом "авось пригодится"?
Отправлено 03 сентября 2014 - 05:36
Либо засесть за спеки xpath 1.0 :)Вывод: использовать вариант, который предложил BabyRoot
//*[substring(@id,string-length(@id))='5']
Отправлено 03 сентября 2014 - 07:52
Либо засесть за спеки xpath 1.0 :)Вывод: использовать вариант, который предложил BabyRoot
//*[substring(@id,string-length(@id))='5']
Круто
Если надо проверить что последние 2 цифры равны 45, то писать так:
//*[substring(@id,string-length(@id)-1)='45']
3 цифры так:
//*[substring(@id,string-length(@id)-2)='745']
Отправлено 06 сентября 2014 - 17:49
На всякий случай напишу: Если возможна такая ситуация, что на странице будет несколько таких элементов и возможен вариант, что будет 2 и более элементов с одинаковой цифрой в конце, то лучше все таки указать полностью id. Ибо нужно использовать тогда это:
Либо засесть за спеки xpath 1.0 :)Вывод: использовать вариант, который предложил BabyRoot
//*[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 анонимных