有没有办法用Python控制窗口?

时间:2012-01-12 01:55:23

标签: python linux scripting file-upload web

我正在尝试创建一个将文件上传到网站的脚本。我无法控制网站,因此必须通过点击和输入来上传文件。

Aka,

  1. 等待上传窗口弹出
  2. 文件类型名称/路径
  3. 点击“打开”或“上传”(或其他)按钮
  4. 因为窗口是操作系统的一部分(不是浏览器窗口),所以我无法使用Selenium或类似的东西控制它(据我所知。如果我错了,请告诉我)。这意味着我需要脚本来执行此操作。

    我已经将它用于Windows(用AutoIt制作)但是,我还需要它在Unix系统(Linux)上运行。

    所以我问,有没有办法用Python做什么?如果我可以创建一个将在两者上运行的脚本,那将是非常棒的(AutoIt仅适用于Windows)。

    我对Java,Python和AutoIt有所了解,但如果没有人能够做到这一点,我可以学到别的东西。

    感谢。

    编辑:

    好的,显然使用HTTP POST就是这样做的,但是我不知道该怎么做。我将对此进行更多研究。感谢@Chrules引起了我的注意。

1 个答案:

答案 0 :(得分:2)

现在您希望通过HTTP请求执行此操作,强烈建议使用Requests库。

真的很简单:

>>> url = 'http://httpbin.org/post'
>>> files = {'report.xls': open('report.xls', 'rb')}
>>> r = requests.post(url, files=files)