 (defn wait-has-alert [driver & [opt]]
   (wait-predicate #(has-alert? driver) opt))
 
-(defn wait-has-text [driver text & [opt]]
-  (wait-predicate #(has-text? driver text) opt))
+(defn wait-has-text
+  [driver q text & [opt]]
+  (wait-predicate #(has-text? driver q text) opt))
 
 (defn wait-has-class [driver q class & [opt]]
   (wait-predicate #(has-class? driver q class) opt))

"
  [driver q]
  (cond
    (= q :active)
    (get-active-element* driver)

    (vector? q)
    (loop [el (query driver (first q))
           q-rest (rest q)]

   //div[@id='content'] for XPath,
   div.article for CSS selector

   - a keyword `:active` that means the current active element

   - any keyword `value` that is converted to XPath `.//*[@id='<value>']`

   - a map with either :xpath or :css keys with a string term, e.g:
   {:xpath \"//div[@id='content']\"} or
