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

Фотография

selenium + junit выпадающий список

selenium junit

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

#1 tswg

tswg

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

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

Отправлено 19 марта 2018 - 07:19

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

вот скрины 

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


  • 0

#2 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 19 марта 2018 - 08:05

Если под "методом селекта" Вы подразумеваете селениумовский Select - то он тут не применим, т.к. работает только с элементами с тэгом select. А у Вас судя по коду - выпадающий список сделан не стандартным селектом, а самодельной конструкцией других элементов (дивы, спаны).

Вариант - делать так, как Вы это делаете вручную. Т.е. кликнуть (либо по полю в целом, либо по стрелочке, если она была бы отдельным элементом), дождаться, пока пункты списка появятся (т.е. - спаны с пунктами списка станут не disabled, лучше подождать кликабельности), кликнуть по нужному пункту.


  • 1

#3 tswg

tswg

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

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

Отправлено 19 марта 2018 - 11:31

Если под "методом селекта" Вы подразумеваете селениумовский Select - то он тут не применим, т.к. работает только с элементами с тэгом select. А у Вас судя по коду - выпадающий список сделан не стандартным селектом, а самодельной конструкцией других элементов (дивы, спаны).

Вариант - делать так, как Вы это делаете вручную. Т.е. кликнуть (либо по полю в целом, либо по стрелочке, если она была бы отдельным элементом), дождаться, пока пункты списка появятся (т.е. - спаны с пунктами списка станут не disabled, лучше подождать кликабельности), кликнуть по нужному пункту.

спасибо, я так и сделал  :victory:

 

Но вот мой друг посоветовал приведу цитату:

"Не то, имел ввиду, что у тебя есть функция(метод), которая(ый) в себе содержит вызов метода поиска элемента по xpath, но через аргумент получает название региона и ищет его локатор.
упрощённое представление в стиле языка Ruby:
def select_region(region_name)
driver.find_element(xpath: "//div[@class='some-class']//div[contains(text(), '#{region_name}')]")
end
Т.е тут используется интерполяция. region_name в xpath подставляется из аргумента метода. Т.е ты его переиспользовать сможешь для выбора любого нужного, а не конкретного региона."

 

Я не очень понял, может вы знаете?


  • 0

#4 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 19 марта 2018 - 11:54

 

Если под "методом селекта" Вы подразумеваете селениумовский Select - то он тут не применим, т.к. работает только с элементами с тэгом select. А у Вас судя по коду - выпадающий список сделан не стандартным селектом, а самодельной конструкцией других элементов (дивы, спаны).

Вариант - делать так, как Вы это делаете вручную. Т.е. кликнуть (либо по полю в целом, либо по стрелочке, если она была бы отдельным элементом), дождаться, пока пункты списка появятся (т.е. - спаны с пунктами списка станут не disabled, лучше подождать кликабельности), кликнуть по нужному пункту.

спасибо, я так и сделал  :victory:

 

Но вот мой друг посоветовал приведу цитату:

"Не то, имел ввиду, что у тебя есть функция(метод), которая(ый) в себе содержит вызов метода поиска элемента по xpath, но через аргумент получает название региона и ищет его локатор.
упрощённое представление в стиле языка Ruby:
def select_region(region_name)
driver.find_element(xpath: "//div[@class='some-class']//div[contains(text(), '#{region_name}')]")
end
Т.е тут используется интерполяция. region_name в xpath подставляется из аргумента метода. Т.е ты его переиспользовать сможешь для выбора любого нужного, а не конкретного региона."

 

Я не очень понял, может вы знаете?

 

создать метод, в который ты будешь прокидывать только текст элемента выпадающего списка. Если его действительно очень часто предполагается юзать, то полезно.


  • 2


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

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