您好,登錄后才能下訂單哦!
利用Splinter開發瀏覽器自動化操作,編寫代碼比較簡單。
案例一:
from splinter import Browser with Browser() as browser: # Visit URL url = "http://www.google.com" browser.visit(url) browser.fill('q', 'splinter - python acceptance testing for web applications') # Find and click the 'search' button button = browser.find_by_name('btnG') # Interact with elements button.click() if browser.is_text_present('splinter.readthedocs.io'): print("Yes, the official website was found!") else: print("No, it wasn't found... We need to improve our SEO techniques")
第1行 是導入Browser。
Browser是整個測試的基礎,你可以把它理解為一個瀏覽器。
第3行 初始化一個Browser,不加參數的話默認是firefox。
第4行 是命令browser打開"http://google.com"。
第5行 是命令browser使用‘splinter - python acceptance testing for web applications'填充頁面中‘name'是‘q'的元素。在Google的首頁中,就是那個搜索框。大家可以看一下Google首頁的代碼。
第6行 是兩個命令。第一個是找到‘name'屬性為‘btnG'的按鈕,第二個是click()也就是點擊這個按鈕。這個按鈕就是Google的搜索按鈕。
第8行 是判斷頁面中是否有‘splinter.cobrateam.info'這個字符串,因為上一步點擊了搜索按鈕,所以這里搜索的就是跳轉之后的頁面。當然,大家不用擔心網速慢會判斷出錯,splinter會等頁面載入完成再進行下一步的操作。
第13行 是刪除browser。
案例二:
這里,我給出自動登錄126郵箱的案例。難點是要找到頁面的賬戶、密碼、登錄的頁面元素,這里需要查看126郵箱登錄頁面的源碼,才能找到相關控件的id.
例如:輸入密碼,密碼的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密碼的文本框,
接著使用fill()方法,填寫密碼。至于模擬點擊按鈕,也是要先找到按鈕控件的id,然后使用click()方法。
由于代碼較簡單,我就只在代碼中給出注解說明工作原理。
#coding=utf-8 import time from splinter import Browser def splinter(url): browser = Browser('chrome') #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)
以上這篇Python利用splinter實現瀏覽器自動化操作方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。