2

我有一个自动化任务,我需要在一个站点中使用 word 文档中的数据填写几个表格。为此,我需要一个模拟浏览器并允许我以编程方式输入站点并访问 html 元素的库。这个叫什么?是否有针对 python 或 clojure 执行此操作的库示例?

4

3 回答 3

4

你有几个选择:

  1. 机械化

还有其他的,但我现在想不起来了(当我记得更多时会发布)

于 2012-09-24T19:38:32.773 回答
4

你可能也想看看PhantomJS

PhantomJS 是一个带有 JavaScript API 的无头 WebKit。它具有对各种 Web 标准的快速和原生支持:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。

如果您只是想提交一个表单,那么伪造请求并使用urllib2发送它可能会更容易。

于 2012-09-24T19:42:39.380 回答
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 脚本。

查看快速入门以了解其工作原理。

于 2012-09-25T15:15:50.553 回答