前言
Selenium是一套 Web 網(wǎng)站的程序自動化操作解決方案,廣泛應(yīng)用于自動化測試及爬蟲。此篇文章主要介紹 Selenium 的 安裝和基本使用流程。
正文
1、Selenium 安裝與導(dǎo)入
Selenium 框架的安裝主要就是安裝兩樣?xùn)|西: Selenium 客戶端庫 和 瀏覽器驅(qū)動 。
1.1、Selenium 框架安裝
使用 pip 命令安裝 pip install selenium
,安裝完后直接導(dǎo)入 import selenium
即可。
1.2、瀏覽器驅(qū)動安裝
瀏覽器驅(qū)動 是和 瀏覽器對應(yīng)的, 不同的瀏覽器 需要選擇不同的瀏覽器驅(qū)動。
Chrome 瀏覽器 的 WebDriver,可以在該地址下載:http://npm.taobao.org/mirrors/chromedriver/
Firefox 瀏覽器的 WebDriver,可以在該地址下載:https://github.com/mozilla/geckodriver/releases
注意:瀏覽器驅(qū)動 必須要和瀏覽器版本匹配
2、Selenium 自動化流程
- 自動化程序調(diào)用Selenium 客戶端庫函數(shù)(比如點擊按鈕元素)
- 客戶端庫會發(fā)送Selenium 命令 給瀏覽器的驅(qū)動程序
- 瀏覽器驅(qū)動程序接收到命令后 ,驅(qū)動瀏覽器去執(zhí)行命令
- 瀏覽器執(zhí)行命令
- 瀏覽器驅(qū)動程序獲取命令執(zhí)行的結(jié)果,返回給我們自動化程序
- 自動化程序?qū)Ψ祷亟Y(jié)果進行處理
轉(zhuǎn)載至:白月黑羽
3、Selenium 常用方法
3.1、瀏覽器對象常用方法及屬性
- browser.get():地址欄輸入url地址并確認
- browser.quit():關(guān)閉瀏覽器
- browser.close():關(guān)閉當前頁,瀏覽器不關(guān)閉
- browser.maximize_window():瀏覽器窗口最大化
- browser.page_source:HTML結(jié)構(gòu)源碼
- browser.page_source.find(“字符串”):從源碼中查找指定字符串,沒有返回-1,常用于判斷最后一頁
3.3、節(jié)點對象常用方法
- node.send_keys():向文本框發(fā)送內(nèi)容
- node.click():點擊
- node.clear():清空文本
- node.get_attribute(‘屬性名’):獲取節(jié)點屬性值
- node.text():獲取節(jié)點文本內(nèi)容(包含子節(jié)點和后代節(jié)點)
4、Selenium 使用示例
4.1、示例目標
- 打開瀏覽器,并使瀏覽器最大化,輸入百度的url地址
- 找到搜索框節(jié)點,輸入搜索關(guān)鍵字:python
- 找到百度一下的按鈕,進行點擊
- 打印HTML結(jié)構(gòu)源碼,并尋找是否存在"kw"節(jié)點
- 保存頁面圖片
4.2、示例源碼
import time
from selenium import webdriver # 需要導(dǎo)入selenium的webdriver接口
from selenium.webdriver.common.by import By
browser = webdriver.Chrome() # 創(chuàng)建瀏覽器webdriver對象
browser.maximize_window() # 瀏覽器窗口最大化
browser.get(url="http://baidu.com") # 輸入百度的url地址
inputBaidu = browser.find_element(By.XPATH, '//*[@id="kw"]') # 找到搜索框的節(jié)點位置,并發(fā)送搜索的關(guān)鍵字
# '//*[@id="kw"]':復(fù)制出來的xpath表達式 是頁面最終渲染完之后,以前端頁面為主寫的xpath表達式,與響應(yīng)內(nèi)容無關(guān)
inputBaidu.send_keys("python")
browser.find_element(By.XPATH, '//*[@id="su"]').click() # 找到百度一下的節(jié)點位置,并點擊
time.sleep(1)
html = browser.page_source # HTML結(jié)構(gòu)源碼
print(html)
print(browser.page_source.find("kw")) # 從源碼中查找指定字符串,沒有返回-1,常用于判斷最后一頁
browser.save_screenshot("baidu.png") # 截圖保存
time.sleep(1)
注意:把 瀏覽器驅(qū)動 放在 py 文件 所在路徑下,在創(chuàng)建瀏覽器對象時就無需指定瀏覽器驅(qū)動路徑了
Xpath表達式 獲取方法:文章來源:http://www.zghlxwxcb.cn/news/detail-412518.html
4.3、示例效果
文章來源地址http://www.zghlxwxcb.cn/news/detail-412518.html
到了這里,關(guān)于【Python_Selenium學(xué)習(xí)筆記(一)】Selenium介紹及基本使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!