     [:session (:session @driver) :element el :doubleclick]
     nil _))
 
-(defn double-click [driver q]
+(defn double-click
+  "Performs double click on an element.
+
+  Note:
+
+  the supported browsers are Chrome and Phantom.js. For Firefox and
+  Safari, your may try to simulate it as a `click, wait, click`
+  sequence.
+"
+  [driver q]
   (double-click* driver (query driver q)))
 
 ;;

;; mouse
;;

(defmulti mouse-btn-down dispatch-driver)

(defmethods mouse-btn-down [:chrome :phantom :safari]
  [driver]

    resp
    (:value resp)))

(defn get-element-attr
  "Returns an HTTP attribute of an element (class, id, href, etc).

  Arguments:

  - `driver`: a driver instance,

  - `q`: a query term to find an element,

  - `name`: either a string or a keyword with a name of an attribute.

  Returns: a string with the attribute value, `nil` if no such
  attribute for that element.

  Example:

  (def driver (firefox))
  (get-element-attr driver {:tag :a} :class)
  >> \"link link__external\"
"
  [driver q name]
  (get-element-attr* driver (query driver q) name))

(defn get-element-attrs [driver q & names]
