Дождитесь, пока появится список выбора, а затем выберите значение

#page-object-gem

#страница-объект-драгоценный камень

Вопрос:

Я пытаюсь выбрать опцию из списка выбора, используя page-object. Я использую IE8 (должен), который работает очень медленно при взаимодействии с объектом страницы.

 When /^the user selects the Test Region "([^"]*)"$/ do |regionname| 
 on_page(MyTestRegion) do |page|
  page.region  = /#{regionname}/    if regionname != "" amp;amp; regionname != {}
 end
end
  

Я получаю Watir::Exception::UnknownObjectException: не удается найти ошибку элемента.

Мне нужно дождаться загрузки элемента select_list, а затем выбрать значение.

Я пробовал visible?, wait_until, wait_when_present, when_present но пока, похоже, ничего не работает… Есть ли альтернативный способ дождаться загрузки элемента?

Комментарии:

1. Учитывая, что вы упомянули большинство методов ожидания, вы уверены, что правильно определяете местоположение элемента (т. Е. Вы проверили, что если вы вручную загрузите страницу и дождетесь загрузки списка, ваш объект страницы может взаимодействовать со списком? Другими словами, вы уверены, что это проблема ожидания? Ожидания требуются только из-за асинхронной загрузки, а не из-за медленной работы браузера.

2. ДА. Объект расположен правильно. Иногда скрипт работает, но иногда нет. Он корректно работает с Chrome.

3. Вы пробовали использовать ожидания с таймаутом, превышающим 5 секунд по умолчанию? Например, page.region_element.when_present(120).select(/#{regionname}/

4. Да, я пробовал. Это в высшей степени непоследовательно.