爬蟲之自動化測試

首先需要知道自動化測試所必需的selenium
selenium是一個用於Web應用程序測試的工具。selenium 測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。 支持的瀏覽器包括IE,chrome和Firefox等。
再者你要選擇一個用來測試的瀏覽器,我選的是火狐,其他的沒試過,應該都差不多。
如果你選火狐的話就要用到火狐的瀏覽器驅動器,也就是geckodriver。這個東西很常見,隨便百度一下geckodriver.exe就能找到。
選瀏覽器的話還有一個注意事項,因爲現在的瀏覽器都越來越高大上,功能一直在優化,所以就可能出現瀏覽器版本過高不支持selenium的情況,建議大家遇到這種問題一是用最新版本的selenium,而是降低一下瀏覽器的版本。其他的我不知道,火狐是46版本以上就不支持selenium,所以我用的是45版本的火狐拿來測試。

上面說的兩種東西大家如果沒找到或者怕麻煩的話可以加我QQ:936285470

先給代碼:
import time
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

# 進入新浪微博
url = 'http://weibo.com/login.php'
binary = FirefoxBinary('D:\\program files (x86)\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary,executable_path='C:/Users/Administrator/Desktop/geckodriver.exe')
//這裏百度上很多的就是webdriver.Firefox() 需要注意的是如果不給出火狐的瀏覽器驅動器路徑和火狐瀏覽器的路徑的話,可能會出錯,所以建議最好手動給個路徑防止出錯

driver.get(url) //打開url指定的頁面driver.maximize_window()//將打開的瀏覽器全屏
print('進入成功') //打開瀏覽器並進入指定網頁成功標誌

登錄成功後我們就可以“想幹嘛就幹嘛啦”
打開瀏覽器的控制檯,去找你想要用代碼操作的input、div、button等等等等的id或者class或者其他的。
webdriver提供了多種查找html頁面的節點的方法,具體請大家自行百度。
下面就舉個栗子,這個其實百度一搜一大把,不過大部門都是拿百度的首頁寫的例子,我這裏舉一個稍微複雜點的栗子吧(其實也沒比百度的栗子高大上多少):

name_field = driver.find_element_by_id('loginname')
name_field.clear()
name_field.send_keys('你的微博用戶名')

password_field = driver.find_element_by_class_name('password').find_element_by_name('password')
password_field.clear()
password_field.send_keys('你的微博密碼')

submit = driver.find_element_by_class_name('W_login_form').find_element_by_link_text('登錄')
submit.click()

# 等待頁面刷新,完成登陸
time.sleep(5)
print('登陸完成')   //登錄成功標誌

嘔心瀝血寫出來的,小夥伴們轉載麻煩一定註明出處。

發佈了38 篇原創文章 · 獲贊 19 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章