Я пытаюсь смоделировать страницу, содержащую разделы и подразделы, и я столкнулся с проблемами при определении области обзора.Как обрабатывать элементы и подразделы, которые технически находятся за пределами области?
В разделе я определяю можно найти в DOM в иерархии так:
HTML> Тело> div.page-фон> DIV # обертка> DIV # содержание> DIV # первичный> ... >ДИВ # резервной поиск
И поэтому я определил раздел на странице с CSS Selector сНу # заповедного-поиска. Однако нажатие на кнопку в этом разделе вызывает всплывающее окно, с которым необходимо взаимодействовать. Даже несмотря на то, всплывающей логически часть секции, она расположена в другой части DOM:
HTML> Тело>DIV # оверлея-адрес
Это ставит меня в затруднительном , Текущий код выглядит как это:
class ReserveSearchPage < SitePrism::Page
section :reserve_search_section, ReserveSearchSection, "div#reserve-search"
end
class ReserveSearchSection < SitePrism::Section
section :overlay_address_section, OverlayAddressSection, "div#overlay-address"
element :address_section_button, "a#button"
def interactWithAddressSection
address_section_button.click
wait_until_overlay_address_section_visible
...
end
end
class OverlayAddressSection < SitePrism::Section
elements :things, "blah#stuff"
...
end
Проблема с вышесказанным в том, что при попытке вызвать interactWithAddressSection
, то OverlayAddressSection
определяется область действия ReserveSearchSection
«с, так что она на самом деле выглядит для суб- раздел в DOM под div # reserve-search div # overlay-address. Поскольку подсекция не находится там, тайм-аут вызовов и подзаголовок не найдены.
Я хочу определить этот подраздел в более крупном разделе, который определенно там, где он логически принадлежит, и где ему нужно получить доступ. Есть ли способ определить локатор подраздела, не используя область родительского раздела?
Очевидно, что более удобный и «правильный» для подсектора существует внутри его родителя в DOM, но я видел множество всплывающих окон и панелей, определенных таким образом, технически живущих в совершенно другой части страницы, хотя структура определенно должна быть смоделирована как подраздел другой части DOM. Кажется, что для меня должен быть выход из области родительского раздела, возможно, путем определения подраздела с каким-то абсолютным селектором. Существует ли такой метод? Если нет, есть ли другие способы обхода?