Python實現瀏覽器自動化操作


  最近在研究網站自動登錄的問題,涉及到需要實現瀏覽器自動化操作,網上有不少介紹,例如使用pamie,但是只是支持IE,而且項目也較久沒有更新了。還有就是利用selenium,可支持多種瀏覽器。網上資料比較多。經過比較,我選擇了Splinter模塊,因為利用Splinter開發瀏覽器自動化操作,編寫代碼比較簡單。
一、Splinter的安裝
Splinter的使用必修依靠Cython、lxml、selenium這三個軟件。所以,安裝前請提前安裝
Cython、lxml、selenium。以下給出鏈接地址:
1)http://download.csdn.net/detail/feisan/4301293
2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no
3)http://pypi.python.org/pypi/selenium/2.25.0#downloads
4)http://splinter.cobrateam.info/

二、Splinter的使用
  這里,我給出自動登錄126郵箱的案例。難點是要找到頁面的賬戶、密碼、登錄的頁面元素,這里需要查看126郵箱登錄頁面的源碼,才能找到相關控件的id.
  例如:輸入密碼,密碼的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密碼的文本框,
接着使用fill()方法,填寫密碼。至於模擬點擊按鈕,也是要先找到按鈕控件的id,然后使用click()方法。
由於代碼較簡單,我就只在代碼中給出注解說明工作原理。
(測試環境win7+python2.7.3+firefox)

1)登錄截圖
[轉載]Python實現瀏覽器自動化操作

2)代碼
----------------------------------------
#coding=utf-8
import time
from splinter import Browser

def splinter(url):
      browser = Browser()
      #login 126 email websize
      browser.visit(url)
      #wait web element loading
      time.sleep(5)
      #fill in account and password
      browser.find_by_id('idInput').fill('xxxxxx')
      browser.find_by_id('pwdInput').fill('xxxxx')
      #click the button of login
      browser.find_by_id('loginBtn').click()
      time.sleep(8)
      #close the window of brower
      browser.quit()

if __name__ == '__main__':
      websize3 ='http://www.126.com'
      splinter(websize3)
-------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM