2013-10-24 146 views
3

我需要通過html表單上傳數百個文件,以便它們最終位於服務器上。我沒有其他選擇,必須通過表格。自動瀏覽器交互

我試圖做這個問題使用python,但我做錯了什麼,當我嘗試通過Web界面打開它們的文件是空的。我也嘗試通過firefox的TamperData進行重放,並且在這種情況下文件也被錯誤地上傳。

因此,我想通過自動化瀏覽器來探索上傳文件的想法。我需要做的是:

for file in files: 
    open a page 
    click on the browse button 
    select a file 
    click the upload button 

那麼我可以用什麼軟件/庫來做到這一點?我不一定需要使用python來做這件事,因爲我將來再也不需要這樣做。我只需要通過任何可能的方式將文件上傳到那裏。

我可以訪問Windows 7,Mac Os X和Suse Linux。

我也不在乎使用哪個瀏覽器。

+1

谷歌沉默 – alko

+0

沉寂webdrive可以幫助你 – timger

回答

4

分裂很適合這種事情:

http://splinter.cobrateam.info/

你可以這樣做:

from splinter import Browser 

with Browser('firefox') as browser: 
    browser.visit('http://yourwebsite.com') 
    browser.find_by_name('element_name').click() 
    do some other stuff... 

你只需要找到的名稱或ID您要在頁面上與之互動的元素

+0

這是一個比Selenium更好的解決方案,因爲它比Selenium更高級。另外,您可以使用桌面瀏覽器進行調試,然後在完成後切換到PhantomJS以加快速度 –