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

Фотография

Определить локатор кнопки


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

#1 dimbaz

dimbaz

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

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

Отправлено 27 апреля 2011 - 12:35

Начал недавно изучать selenium и возникла проблема с определением локатора кнопки.
Кнопка - "Поиск" на facebook. FireBug выдает что-то непонятное, XPather - выдает локатор с динамическим id кнопки.
Можно ли на нее нажать посредством selenium ide?

Прикрепленные файлы


  • 0

#2 aurik

aurik

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

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Куховаренко Антон Олегович

Отправлено 27 апреля 2011 - 12:44

Начал недавно изучать selenium и возникла проблема с определением локатора кнопки.
Кнопка - "Поиск" на facebook. FireBug выдает что-то непонятное, XPather - выдает локатор с динамическим id кнопки.
Можно ли на нее нажать посредством selenium ide?


Попробуйте
//button[@title="Поиск"]
И почитайте про XPath, в свое время мне очень помогли вот эти примеры: http://www.zvon.org/...us/example1.html
  • 0

#3 SMakc

SMakc

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

  • Members
  • Pip
  • 56 сообщений
  • ФИО:Максим
  • Город:Москва

Отправлено 27 апреля 2011 - 12:49

Я бы настоятельно рекомендовал никогда не использовать надписи или комментарии элементов в качестве локаторов, однажды вы скажите спасибо когда возникнут проблемы с кодировкой или много языковой локализацией, а они обязательно возникнут :rtfm:
Тру локатор для вашего случая:
css=.uiSearchInput button

  • 0

#4 dimbaz

dimbaz

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

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

Отправлено 27 апреля 2011 - 13:08

Начал недавно изучать selenium и возникла проблема с определением локатора кнопки.Кнопка - "Поиск" на facebook. FireBug выдает что-то непонятное, XPather - выдает локатор с динамическим id кнопки.Можно ли на нее нажать посредством selenium ide?

Попробуйте
//button[@title="Поиск"]
И почитайте про XPath, в свое время мне очень помогли вот эти примеры: http://www.zvon.org/...us/example1.html

Спасибо, сказалось недостаточное знание синтаксиса, о таком варианте не подумал.

Я бы настоятельно рекомендовал никогда не использовать надписи или комментарии элементов в качестве локаторов, однажды вы скажите спасибо когда возникнут проблемы с кодировкой или много языковой локализацией, а они обязательно возникнут :rtfm: Тру локатор для вашего случая:

css=.uiSearchInput button


Спасибо :) Не могли бы немного пояснить как получить такой локатор?
  • 0

#5 SMakc

SMakc

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

  • Members
  • Pip
  • 56 сообщений
  • ФИО:Максим
  • Город:Москва

Отправлено 27 апреля 2011 - 13:27

Спасибо :) Не могли бы немного пояснить как получить такой локатор?

Как это делаю я:
1) открываю в Фоксе страничку fb
2) тыркаю на интересующий элемент правой кнопкой и выбираю "Анализировать элемент"
3) Вижу в коде элемент button без каких-либо уникальных идентификаторов, поднимаюсь глазами выше по дереву: вижу <span> вообще без атрибутов, еще выше вижу родительский span:
<span class="uiSearchInput textInput">
4) предполагаю что класс "uiSearchInput" уникален и именно по нему сами разработчики ориентируются, проверю используя Firefinder (плагин для FF), так и есть, класс уникален и используется для идентификации блока поиска, а элемент button находится внутри этого блока, вот так и получается:
".uiSearchInput button" - ищем любой элемент с классом uiSearchInput и ниже по дереву элемент button

можно "ужесточить" селектор как: span.uiSearchInput>span>button

т.к. сейчас многие разработчики используют различные js фреймворки, (в частности jQuery) и идентифицируют элементы как раз по css классам, то все чаще удобнее и при тестировании опираться не на XPath, а на CSS Selectors, более подробную инфу по селекторам можно найти в официальной доке http://www.w3.org/TR/css3-selectors/ (обратите внимание, что не все браузеры поддерживают css именно 3й версии).

Еще раз замечу, не используйте никогда для локации надписи на странице и тем более на *русском* языке...
  • 0

#6 dimbaz

dimbaz

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

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

Отправлено 27 апреля 2011 - 14:00

Еще раз спасибо, понемногу начинаю разбираться.
  • 0

#7 dimbaz

dimbaz

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

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

Отправлено 10 июня 2011 - 10:58

Это снова я, продолжаю сражаться с фейсбуком =)
Новый вопрос:
Когда заходим в Профиль -> Сообщения, жмем кнопку новое сообщение, а дальше проблема - адресата ввести не получается, т.к. там хитрое поле ввода с выпадающим списком
Т.е. Type css=div.MessagingComposerTypeaheadWrapper div.wrap div.innerWrap input список вызывает, но вот щелкнуть по нему не выходит совсем никак
пробовал:
click //*[@class='compact']
click //*[@class='uiTypeaheadView']
click //*[@class='user selected']
click //*[@class='text']
click //*[@class='details']
click css=.uiInlineTokenizer

вобщем почти все что смог из фаербага достать, все клики проходят, но вхолостую.

Прикрепленные файлы


  • 0

#8 Darckis

Darckis

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Дурович Дмитрий Сергеевич

Отправлено 13 декабря 2012 - 06:29

Это снова я, продолжаю сражаться с фейсбуком =)
Новый вопрос:
Когда заходим в Профиль -> Сообщения, жмем кнопку новое сообщение, а дальше проблема - адресата ввести не получается, т.к. там хитрое поле ввода с выпадающим списком
Т.е. Type css=div.MessagingComposerTypeaheadWrapper div.wrap div.innerWrap input список вызывает, но вот щелкнуть по нему не выходит совсем никак
пробовал:
click //*[@class='compact']
click //*[@class='uiTypeaheadView']
click //*[@class='user selected']
click //*[@class='text']
click //*[@class='details']
click css=.uiInlineTokenizer

вобщем почти все что смог из фаербага достать, все клики проходят, но вхолостую.

Посмотрите в поиске вопрос о выпадающем списке, у меня получилось его решить именно так
  • 0

#9 prostooleg1

prostooleg1

    Активный участник

  • Members
  • PipPip
  • 94 сообщений
  • Город:Москва


Отправлено 15 декабря 2012 - 09:04


Начал недавно изучать selenium и возникла проблема с определением локатора кнопки.Кнопка - "Поиск" на facebook. FireBug выдает что-то непонятное, XPather - выдает локатор с динамическим id кнопки.Можно ли на нее нажать посредством selenium ide?

Попробуйте
//button[@title="Поиск"]
И почитайте про XPath, в свое время мне очень помогли вот эти примеры: http://www.zvon.org/...us/example1.html

Спасибо, сказалось недостаточное знание синтаксиса, о таком варианте не подумал.

Я бы настоятельно рекомендовал никогда не использовать надписи или комментарии элементов в качестве локаторов, однажды вы скажите спасибо когда возникнут проблемы с кодировкой или много языковой локализацией, а они обязательно возникнут :rtfm:/> Тру локатор для вашего случая:

css=.uiSearchInput button


Спасибо :) Не могли бы немного пояснить как получить такой локатор?


Советую еще посмотреть вот это видео как правильно составлять xpath и css селекторы, там все подробно разжовывается
  • 0


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

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