    (:node-id @(:root ctx))))
 
 (defn sel
-  "Select elements by path. Path is a string."
-  ([path] (sel @current-automation path))
-  ([{c :connection :as ctx} path]
+  "Select elements by selector."
+  ([selector] (sel @current-automation selector))
+  ([{c :connection :as ctx} selector]
    (wait :element '()
          (map (fn [id]
                 {:node-id id})
               (:node-ids (dom/query-selector-all c {:node-id (root-node-id ctx)
-                                                    :selector path}))))))
+                                                    :selector selector}))))))
 
 (defn sel1
   "Select a single element by path."

  "Wait for element to become visible, return true if element is visible, false otherwise."
  ([node] (visible @current-automation node))
  ([{c :connection :as ctx} node]
   (let [object-id (node-object-id ctx node)]
     (wait :render false
           (eval-node ctx object-id
                      "function() {"

  ([node attribute-name attribute-value]
   (set-attribute @current-automation node attribute-name attribute-value))
  ([{c :connection :as ctx} node attribute-name attribute-value]
   (let [node (to-node-ref ctx node)]
     (dom/set-attribute-value c (merge node {:name attribute-name
                                             :value attribute-value})))))
