    //div[@id='content'] for XPath,
    div.article for CSS selector
 
-   - a keyword :active that means the current active element
+   - 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

   :phantom 8910})

(def default-locator "xpath")

;;
;; utils

  in case of unsupported clause."
  [driver q]
  (cond
    (= q :active)
    (get-active-element* driver)

    (keyword? q)
    [locator-xpath (q-xpath {:id q})]

    (string? q)
    [(:locator @driver) q]

    (and (map? q) (:xpath q))
    [locator-xpath (:xpath q)]

    (and (map? q) (:css q))
    [locator-css (:css q)]

    (map? q)
    [locator-xpath (q-xpath q)]

    :else
    (throw+ {:type :etaoin/query
