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

Фотография

Помогите прописать путь к элементу


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

#1 Tom

Tom

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

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

Отправлено 10 августа 2012 - 07:25

Код странички
<div id="ext-gen575" class="x-layer x-combo-list " style="position: absolute; z-index: 12007; visibility: visible; left: 232px; top: 108px; width: 489px; height: 190px; font-size: 12px;">
         <div id="ext-gen576" class="x-combo-list-inner" style="width: 489px; height: 190px;">
               <div class="x-combo-list-item">Винницкая</div>
               <div class="x-combo-list-item">Волынская</div>
               <div class="x-combo-list-item">Днепропетровская</div>
               <div class="x-combo-list-item">Донецкая</div>
               <div class="x-combo-list-item">Житомирская</div>
               <div class="x-combo-list-item">Закарпатская</div>
               <div class="x-combo-list-item x-combo-selected">Закарпатье</div>
               <div class="x-combo-list-item">Запорожская</div>
               <div class="x-combo-list-item">Ивано-Франковская</div>
               <div class="x-combo-list-item">Карпаты</div>
               <div class="x-combo-list-item">Киевская</div>
Задача состоит в том чтобы вбрать первый, пятый и последний элемент (количество элементов может меняться)
Selenium предложил такие варианты:
driver.findElement(By.cssSelector("#ext-gen676 > div.x-combo-list-item")).click();
driver.findElement(By.xpath("//div[@id='ext-gen576']/div[5]")).click();
Но проблема в том что id - меняется.

Пробовал писать через xpath
driver.findElement(By.xpath("//*class=['x-combo-list-inner']/div[11]")).click();
Но оно чет не работает
Подскажите плиз как эго нормально можно написать.
  • 0

#2 Sagot

Sagot

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

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

Отправлено 10 августа 2012 - 09:57

Пробовал писать через xpath

driver.findElement(By.xpath("//*class=['x-combo-list-inner']/div[11]")).click();
Но оно чет не работает
Подскажите плиз как эго нормально можно написать.


Все правильно только зачем перед словом class ставить звездочку? Убери ее, должно все работать.
И лучше давай путь к странице а не просто код, так будет проще играть с икспасом в FF
  • 0

#3 Tom

Tom

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

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

Отправлено 10 августа 2012 - 10:05

Все правильно только зачем перед словом class ставить звездочку? Убери ее, должно все работать.

Пробовал без звездочки - не работает(
  • 0

#4 Sagot

Sagot

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

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

Отправлено 10 августа 2012 - 10:08

//*[@class='x-combo-list-inner']/div[11] - попробуй так
  • 1

#5 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 10 августа 2012 - 10:44

Задача состоит в том чтобы вбрать первый, пятый и последний элемент (количество элементов может меняться)


Меняется количество элементов в списке или количество элементов которые нужно выбрать?
  • 0
ap-test-team.blogspot.com

#6 Tom

Tom

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

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

Отправлено 10 августа 2012 - 10:51

Задача состоит в том чтобы вбрать первый, пятый и последний элемент (количество элементов может меняться)


Меняется количество элементов в списке или количество элементов которые нужно выбрать?


Меняется именно количество элементов поетому если с первым и пятым все понятно то последний елемент может быть и 10 и 11 и 6 и 20.
  • 0

#7 Sagot

Sagot

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

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

Отправлено 10 августа 2012 - 10:59

по поводу последнего, в xpath есть для этого метод last() используй его


например //*[@class='x-combo-list-inner']/div[last()]


очень подробная развернутая статья в 4 частях по XPath есть здесь: http://internetka.in...th-start-part3/
  • 1

#8 achumagin

achumagin

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

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 10 августа 2012 - 11:14


Задача состоит в том чтобы вбрать первый, пятый и последний элемент (количество элементов может меняться)


Меняется количество элементов в списке или количество элементов которые нужно выбрать?


Меняется именно количество элементов поетому если с первым и пятым все понятно то последний елемент может быть и 10 и 11 и 6 и 20.


Если количество элементов в списке не постоянно, то лучше избегать обращения по индексам. и использовать поиск по тексту
В вашем случае будет примерно так //*[@class='x-combo-list-inner']/[text()='Киевская']
  • 0
ap-test-team.blogspot.com


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

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