我有一个自动化任务,我需要使用word文档中的数据填充站点中的多个表单。为此我需要一个模拟浏览器的库,允许我以编程方式输入一个站点并访问html元素。这个叫什么?是否存在为python或clojure执行此操作的库的示例?
答案 0 :(得分:4)
答案 1 :(得分:4)
您可能也想看看PhantomJS:
PhantomJS是一款带有JavaScript API的无头WebKit。它有快速和 对各种Web标准的本机支持:DOM处理,CSS选择器, JSON,Canvas和SVG。
如果您只想提交表单,可能更容易伪造请求并使用urllib2发送。
答案 2 :(得分:1)
现在 Clojure ,http-kit是我最喜欢的。它只是使http交互非常容易。
; taken from github
(defn on-response [resp]
;; {:status 200 :body "....." :headers {:key val :key val}}
(println resp))
;;; initialize, timeout is 40s, and default user-agent
(http/init :timeout 40000 :user-agent "http-kit/1.1")
;;; other params :headers :proxy binary? keyify?
(http/get {:url "http://shenfeng.me" :cb on-response})
;;; other params :headers :proxy binary? keyify?
(http/post {:url "http://example/"
:cb on-response
:body {"name" "http-kit" "author" "shenfeng"} :binary? true})
我还使用了CasperJs,它只是让任何无头浏览成为可能。此外,您可以在自动浏览的同时与客户端javascript交互。 我发现唯一的缺点是将所有这些与现有代码集成起来有点困难,但作为一个独立的工具,它是完美的。它还支持coffescript和javascript脚本。
查看Quickstart以了解其工作原理。