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

Фотография

Selenium bootstrap dropdown


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

#1 Baloo

Baloo

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Сергей


Отправлено 21 сентября 2016 - 14:10

Доброго дня!

Гугление не помогло

 

Есть выпадающий список на бустрапе

<ul class="dropdown-menu dropdown-default">
                  <li class="ng-scope" ng-repeat="(key, val) in genderList" ng-if="key != ApplicantEdit.gender"><a class="ng-binding" href="javascript:void(0)" ng-bind="val" ng-click="ApplicantEdit.gender = key">Женский</a></li>
                  <li class="ng-scope" ng-repeat="(key, val) in genderList" ng-if="key != ApplicantEdit.gender"><a class="ng-binding" href="javascript:void(0)" ng-bind="val" ng-click="ApplicantEdit.gender = key">Мужской</a></li>
 </ul>
 
Выпадающий список с двумя пунктами.
 
Если я использую driver.find_element_by_link_text("Женский") (или иные), то селениум его находит, нажимает, но пункт меню не выбирается
 
При использовании ActionChains, результат такой же
AC(driver).move_to_element(driver.find_element_by_link_text(u"Женский")).perform()
driver.find_element_by_link_text(u"Женский").click()

  • 0

#2 Lzk

Lzk

    Специалист

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

Отправлено 21 сентября 2016 - 14:15

ты вызываешь выпадающий список предварительно ? возможно список еще не раскрыт и элементы не видны ?


  • 0

#3 elvis

elvis

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

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 21 сентября 2016 - 14:28

 

Гугление не помогло

не верю :) копайте в сторону ExpectedConditions и ожидайте видимости элементов.


  • 0

#4 Baloo

Baloo

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Сергей


Отправлено 21 сентября 2016 - 14:44

ты вызываешь выпадающий список предварительно ? возможно список еще не раскрыт и элементы не видны ?

Выпадающий список ожидаю

WebDriverWait(driver, 10).until(lambda s: s.find_element(By.XPATH, "//a[contains(text(),'Женский')]"))

 

 

 

 

Гугление не помогло

не верю :) копайте в сторону ExpectedConditions и ожидайте видимости элементов.

 

Как я уже писал: WD НАХОДИТ данные элементы, нажимает (анимация есть), но значения не применяются.

Пробовал через AC, тоже не получается


  • 0

#5 Lzk

Lzk

    Специалист

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

Отправлено 21 сентября 2016 - 14:47

не может ли быть несколько таких элементов на странице? которые в DOM выше тех, которые ты ожидаешь ?


  • 0

#6 Lzk

Lzk

    Специалист

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

Отправлено 21 сентября 2016 - 14:57

если ты говоришь, что Анимация идет, то скорее всего это hover и элемент может подменяться на другой , когда ты наводишь мышь на него?


  • 0

#7 Baloo

Baloo

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Сергей


Отправлено 21 сентября 2016 - 15:06

не может ли быть несколько таких элементов на странице? которые в DOM выше тех, которые ты ожидаешь ?

По идеи первая. Могу попробовать то, что выдает фаербаг

 

если ты говоришь, что Анимация идет, то скорее всего это hover и элемент может подменяться на другой , когда ты наводишь мышь на него?

Анимация "закрашивания". Там нету подмены 


  • 0

#8 Prettser

Prettser

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

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


Отправлено 21 сентября 2016 - 18:10

мб результат нажатия это выполнение скрипта, о котором браузер на момент нажатия еще не знает? попробуйте ждать несколько секунд перед нажатием. Если такое ожидание поможет, то нужно как-то красиво сделать ожидание подгрузки скрипта. Если получится сделать красиво, то сообщите тут об этом. А то подобная пакость (слип в пару секунд) тоже в моем коде глаз мозолит.


  • 0

#9 sergueik

sergueik

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

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 22 сентября 2016 - 00:01

ссылку на проблемную страницу (или копию, если говорите что частично реагирует) можете дать ?  хотелось бы Protractor на нее натравить - он и ищет "по-правильному" и ждет автоматически

 

заранее спасибо!


  • 0


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

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