web:
Python web automation 網頁自動化技術
看看我自己寫的程式,在web automation這個方面的數量最多。網上對這方面程式的需求也很多,因為web的時代,操作的工作量移到web上來了, 機器替代人的需求增大也就不足為奇。
無疑python是做這方面工作的好手:
總結一下python做web automation常用手段:
基於urllib2、urllib: 絕大多數都是這一類,如mechanize,twill,等等。基礎模組都是urllib2,也就是wrapper。這類的是基於http請求響應的封裝。我自己也寫了一個叫autoform,調用檔案模板填表,原理都一樣。GOOGLE 每天都要在他的
內嵌webbrowser:如pyqt的webkit、PAMIE、spynner(基於webkit),這一類是我正準備研究的,因為urllib2處理有局限性,即不能處理動態指令碼如js,一些操作無法實現。這種內嵌的方式類似於com調用,所以支援所有瀏覽器操作,相容性更好,但不如urllib快捷。
spynner: https://github.com/kiorky/spynner/
1 A basic example:
2
3 import spynner
4 browser = spynner.Browser()
5 browser.load("http://www.wordreference.com")
6 browser.runjs("console.log('I can run Javascript')")
7 browser.runjs("console.log('I can run jQuery: ' + jQuery('a:first').attr('href'))")
8 browser.select("#esen")
9 browser.wk_fill("input[name=enit]", "hola")
10 browser.click("input[name=b]")
11 browser.wait_page_load()
12 print browser.url, browser.html
13 browser.close()
14
15 #Sometimes you'll want to see what is going on:
16
17 browser = spynner.Browser()
18 browser.debug_level = spynner.DEBUG
19 browser.create_webview()
20 browser.show()
web test framwork :如selenium,我也沒研究過。他的機制應該綜合了以上兩種方式,selenium IDE還可以產生代碼,是一個強大的web測試載入器。
ps:
Google 每天會在TESTING FARM上跑幾萬個SELENIUM測試CASE,現在也些會更多,你如果想學習SELENIUM, 可以從這裡開始 http://selenium.seleniumhq.org/
Windows:
大多基於win32模組:
pywinauto http://pywinauto.googlecode.com/hg/pywinauto/docs/index.html
Watsup (http://www.tizmoi.net/watsup/intro.html)
winGuiAuto (http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html)
Excel處理: xlrd, xlwt