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

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

Помогите составить xPath


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

#1 Delirium

Delirium

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Юлия

Отправлено 20 января 2015 - 14:09

Добрый день.

 

Нужна помощь по составлению пути, чтобы достучаться до элемента. 

 

На странице есть несколько элементов с id типа some-constant-text_some-variable-index

(например,

id = MainContent_ucTradeLotInfoList_0, 

id = MainContent_ucTradeLotInfoList_1, 

id = MainContent_ucTradeLotInfoList_2 и т.д.)

 

Сколько заранее их будет - неизвестно. 

Мне необходимо получить id последнего из подобных элементов на странице, чтобы собственно узнать, сколько их.

Чтобы обратиться к элементу по известной части id можно использовать contains() или starts-with(), но как получить последний из найденных? 

 

Функция last() не помогает или я просто применяю ее не так. 


  • 0

#2 fiatlux

fiatlux

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

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

Отправлено 20 января 2015 - 14:47

getDriver().findElements(By.xpath("//*[contains(@id,'MainContent_ucTradeLotInfoList')]")).size();


  • 1

#3 220v

220v

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

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 20 января 2015 - 18:30


Функция last() не помогает или я просто применяю ее не так. 

Ваш пример где?


  • 0

#4 220v

220v

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

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 20 января 2015 - 18:30

getDriver().findElements(By.xpath("//*[contains(@id,'MainContent_ucTradeLotInfoList')]")).size();

и на какой её вопрос вы ответили?


  • 0

#5 mazik7

mazik7

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

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

Отправлено 21 января 2015 - 05:26

 

getDriver().findElements(By.xpath("//*[contains(@id,'MainContent_ucTradeLotInfoList')]")).size();

и на какой её вопрос вы ответили?

 

Я так понимаю что он решил ваш вопрос с получением количества) findElements - получает коллекцию элементов, а size(видимо) - возвращает их количество. Так как я использую C# то у меня вместо "size" количество возвращает "Count".


  • 0

:smile:


#6 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 21 января 2015 - 06:46

Для нахождения последнего элемента, делаю так:

(//*[contains(@id, 'MainContent_ucTradeLotInfoList')])[last()]

 

Не пробовали пользоваться плагином firepath для FF?

В подобных случаях он может помочь.


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



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

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

Яндекс.Метрика
Реклама на портале