Watir browser.text.include включает? считать текст внутри невидимых элементов? Если так, то как искать только видимый текст? - PullRequest
3 голосов
/ 29 апреля 2010

Включает ли watir browser.text.include? считать текст внутри невидимых элементов? Если да, то как искать только видимый текст?

Я поместил все инструкции в html с самого начала и использую jQuery для скрытия и отображения соответствующих частей.

Как я могу использовать официанта Ватира для ожидания только видимого текста?

Моя проблема в том, что официант всегда возвращает true, даже до того, как я сделал видимым определенный текст.

Ответы [ 3 ]

3 голосов
/ 29 апреля 2010

Не используйте текстовый метод Watir. Это очень быстро и грязно, и у него много опасений, многие даже не связаны с этой проблемой видимого текста. Разработчики тестов Solid Watir избежат этого. Я почти никогда не использую это сам, и только когда я делаю что-то чрезвычайно быстрое и грязное. Кроме того, он реализован по-разному в разных браузерах.

Вместо этого вы должны получить доступ к тексту, который вам небезразличен, с точки зрения фактического элемента, в котором он находится.

1 голос
/ 06 мая 2010

Что не так с:

text_from_all_my_visible_divs = br.div(:id, 'divs I care about').divs.select do |div|
  text_i_care_about(div) && div.visible?
end

def text_i_care_about(div)
  div.text =~ /regexp/
end

.Visible? находится в модульных тестах, это официально, не бойтесь этого:)

Alan

0 голосов
/ 29 апреля 2010

include? видит весь текст, а не только видимый текст. Подробнее см. Билет WTR-433 .

Есть Элемент # visible? метод, который официально не поддерживается (насколько я знаю).

Что ты пытаешься сделать? Если у вас много текста на странице, и вы хотите показать только часть из него, вы можете поместить текст в несколько блоков и посмотреть, виден ли блок.

...