Наткнулся на ту же проблему, используя Watir, присутствует? работает, только если элемент видим.Чтобы дождаться появления невидимого элемента, вы можете сделать это в Watir
Watir::Wait.until { browser.div(:class => "loaded").exists? }
существует? возвращает true, если элемент находится в DOM, не заботится о видимости