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

Фотография

Помогите составить 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


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

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