etaoin

2022-09-02T18:16:48.284619Z

How could I get the src attribute for all images on a page? query-all seems to return a sequence of "identifier strings". How can I go from an identifier string to an element attribute?

lread 2022-09-02T19:15:48.499959Z

Hi @jjttjj! When working with elements returned by queries use get-element-attr-el instead of get-element-attr :

(require '[etaoin.api :as e])

(def driver (e/chrome))
(e/go driver "")
(->> (e/query-all driver {:tag :img})
     (map (fn [x] (e/get-element-attr-el driver x "src"))))
;; => ("")

2022-09-02T19:19:27.465609Z

Aha, thanks!

lread 2022-09-02T19:21:14.715329Z

You are most welcome, happy to help!

👍 1
lread 2022-09-02T19:23:38.655419Z

(don’t know why I threaded my reply 🤷, added my reply to channel)

2022-09-02T18:19:41.793619Z

I would expect something like

(e/go driver "")
  (->> (e/query-all driver {:tag :img})
       (map (fn [x] (e/get-element-attr driver x "src")))) 
to work, but the values returned by query-all are interpreted as xpaths