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

Фотография

Проблема с parent.findElement()

findElement

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

#1 X-NoNAME

X-NoNAME

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

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


Отправлено 10 февраля 2014 - 14:47

Есть табличка, с 2-мя строками

| 1 | 01/01/2014 06:00:00 |

| 2 | 01/01/2014 16:00:00 |
 

//Помещаю строки в список по локатору By.xpath("//tr[@id]")
List<WebElement> currentRows = waitM.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//tr[@id]")));

//Перебираю строки
for(WebElement row:currentRows){
    System.out.println("Parent:"+row.getText()); //Тут получаю сначала первую, затем вторую строку

    //А тут, всегда возвращается значение из первой строки
    System.out.println("Child:"+row.findElement(By.xpath("//td[contains(@aria-describedby,'date')]")).getText());
}

//Вывод в консоль:
Parent:1 01/01/2014 06:00:00
Child: 01/01/2014 06:00:00
Parent:2 01/01/2014 16:00:00
Child: 01/01/2014 06:00:00

Ожидалось, что поиск в родительском элементе будет возвращать значения из дочернего - а по факту - возвращает всегда значение не из родительской, а из первой строки.

Где ошибся?


  • 0

Мои проекты: http://erudit.me http://erudit.1-1.su


#2 vmaximv

vmaximv

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

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

Отправлено 10 февраля 2014 - 14:54

При поиске через родителя запрос должен начинаться с точки - .//
  • 1

#3 X-NoNAME

X-NoNAME

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

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


Отправлено 10 февраля 2014 - 18:33

спасибо, помогло


  • 0

Мои проекты: http://erudit.me http://erudit.1-1.su




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

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