[Python模塊]PAMIE -- Python Automated Module For Internet Explorer - limodou的學習記錄 - DonewsBlog

[Python模塊]PAMIE -- Python Automated Module For Internet Explorer

PAMIE是一個很有意思的模塊。它是一個實現IE自動化的模塊。在此之前我使用過ClientCookie這個模塊,它可以使用urllib2來通過程序訪問頁面,並且很適合在需要cookie支持的環境中。不過,有些web的訪問過程並不僅僅是下載文件這樣的事情,有時是一系統的動作。PAMIE應該是一個更直觀,更簡單的模擬手工輸入的過程。不過,局限就是它只支持IE,在某些特殊情況下還是可以的。

使用它的話你需要安裝win32all模塊。

下面是它的readme提供的一個簡單示例:

import cPAMIE

ie= cPAMIE.PAMIE()

# Start Script:

ie.Navigate ("http://pamie.sourceforge.net/pamieform.html")ie.SetTextBox("John","firstname",0)ie.SetTextBox("Doe","lastname",0)ie.SetTextBox("1020 State Street","Addline1",0)ie.SetTextBox("Suite #16","Addline2",0)ie.SetTextBox("San Mateo","city",0)ie.SetListBox("CA","state",0)ie.SetTextBox("90210","zip",0)

ie.ClickButton("Submit",0)

那麼在我們下載完這個模塊之後,它是一個zip包。它沒有做成安裝模式,可以自行將cPAMIE.py拷貝到python安裝目錄下的lib子目錄中即可。上面的代碼很簡單,先導入cPAMIE模塊,然後生成一個自動化對象ie。這時我們會看到程序自動打開一個ie窗口,我們的操作可以在這個ie窗口中看到,執行的部分以黃底顯示。

ie.Navigate()用來訪問一個鏈接。ie.SetTextBox()用來設置一個文本域的值。第一個參數為輸入的值,第二個參數為對應的form表格的Input域的名字(這一點需要查看源碼才知識),第三個是form的名字(示例為0表示下標)。ie.SetListBox()用來設置列表框的值。ie.ClickButton()用來模擬點擊按鈕。第一個參數是按鈕的名字,第二個參數為0表示下標。

在PAMIE主頁中寫出了一些可用的其它的方法,如ClickLink()。它的第一個參數為鏈接對應的文本,如果是中文,轉成unicode即可。如頁面是GB2312,鏈接源碼為:

<a href="http://xxx.com">漢字</a>

調用如下:

ie.ClickButton(unicode("漢字", "cp936"))

在實際運行中可能不需要這樣,只要參數是unicode編碼即可。

同時如果你查看源碼,還可以看到一些其它的方法:

Quit() -- 關閉打開的ieGoBack() -- 後退Refresh() -- 刷新

大家有興趣可以試一試,一邊操作一邊就可以看到結果,很簡單也很方便。

Trackback: http://tb.donews.net/TrackBack.aspx?PostId=277637

[點擊此處收藏本文]發表於2005年02月15日 9:48 PM
推薦閱讀:

給朋友製作的中欄模塊
傷感透明FLASH模塊-今天我又想你了
人力六模塊
當資料庫遇見FPGA:X-DB異構計算如何實現百萬級TPS?
寶馬玩家(二)——設碼E底盤

TAG:學習 | Python | 記錄 | InternetExplorer | Explorer | 模塊 | Blog |