2012-01-12 53 views
2

我正在嘗試創建一個將文件上傳到網站的腳本。我無法控制網站,因此文件必須通過點擊和輸入進行上傳。有沒有辦法用Python控制窗口?

阿卡,

  1. 等待上傳窗口,彈出文件
  2. 類型名稱/路徑
  3. 點擊 「打開」 或 「上傳」(或其他)按鈕

因爲窗口是操作系統的一部分(不是瀏覽器窗口),所以我無法用Selenium或類似的東西來控制它(據我所知,如果我錯了,請讓我知道)。這意味着我需要腳本來做到這一點。

我已經在Windows上使用它(使用AutoIt創建它),但是我也需要它在Unix系統(Linux)上運行。

所以我問,有沒有辦法用Python或其他?如果我可以製作一個可以在兩者上運行的腳本,那就太棒了(AutoIt僅適用於Windows)。我有Java,Python和AutoIt的知識,但如果這些都不能做到,我可以學到其他的東西。

謝謝。

編輯:

好了,顯然是使用HTTP POST是爲了做到這一點,但我不知道如何做到這一點。我會對此做更多的研究。 Thx @Chrules將此引起我的注意。

+4

當然你不能發送一個HTTP POST或GET請求到服務器? – Tehnix 2012-01-12 01:57:38

+0

是關於在Python屏幕上打開一些窗口的問題嗎?然後PyGtk應該適合! – 2012-01-12 01:58:08

+0

Unn,我不熟悉HTTP POST和GET。我以前使用過GET,但從來沒有POST,我也不認爲POST可以發佈整個文件。你能否給我舉個例子說明我會如何做這樣的事情? @BasileStarynkevitch不,窗口是由網站創建的(當網站要求您上傳文件時,會出現一個窗口,詢問文件的位置)。 – Nacht 2012-01-12 01:59:36

回答

2

既然您想通過HTTP請求來完成,那麼強烈推薦使用Requests庫。

這是真的那麼簡單:

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