欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python語言中的Selenium環(huán)境搭建

 更新時間:2022年08月22日 14:32:39   作者:fd-度假的魚  
本文主要介紹了Python語言中的Selenium環(huán)境搭建,Python+Selenium這篇文章將不斷的持續(xù)更新和重構,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

1.selenium 介紹

Selenium是一個用于Web應 用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏
覽器包括IE (7, 8,9, 10, 11 ) , Moilla Firefox , Safari , Google Chrome,Opera , Edge等。

這個工具的主要功能包括:測試與瀏覽器的兼容性一測試應 用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測試系統(tǒng)功能一創(chuàng)建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成Python、Net、Java、 Peri等不同語言的測試腳本。

1.1 selenium歷史

Selenium 經(jīng)歷了三個大版本,Selenium 1.0、Selenium 2.0 和 Selenium 3.0。Selenium 不是由單獨一個工具構成的,而是由一些插件和類庫組成的,這些插件和類庫有其各自的特點和應用場景。

Selenium 1.0 家族關系如圖 所示:

1.Selenium 1.0

(1)Selenium IDE。

Selenium IDE 是嵌入在 Firefox 瀏覽器中的一個插件,可實現(xiàn)簡單的瀏覽器操作的錄制與回放功能。

(2)Selenium Grid。

Selenium Grid 是一個自動化測試輔助工具。利用 Grid 可以很方便地實現(xiàn)在多臺機器上或異構環(huán)境中運行測試用例。

(3)Selenium RC。

Selenium RC(Remote Control)是 Selenium 家族的核心部分,支持多種不同語言編寫的自動化測試腳本。把 Selenium RC 的服務器作為代理服務器去訪問應用,即可達到測試的目的。

Selenium RC 分為 Client Libraries 和 Selenium Server 兩部分。Client Libraries 主要用于編寫測試腳本,負責控制 Selenium Server 的庫。Selenium Server 負責控制瀏覽器行為。

Selenium Server 主要分為三部分:Selenium Core、Launcher 和 Http Proxy。Selenium Core就是一堆 JavaScript 函數(shù)的集合。通過這些 JavaScript 函數(shù),我們可以用程序對瀏覽器進行操作。Launcher 用于啟動瀏覽器,把 Selenium Core 加載到瀏覽器頁面當中,同時,把瀏覽器的代理設置為 Http Proxy。

2.Selenium 2.0

Selenium 2.0 把 WebDriver 加到了 Selenium1.0 這個家族中,簡單用公式表示如下:

Selenium 2.0 = Selenium 1.0 + WebDriver

需要注意的是,在 Selenium 2.0 中主推的是 WebDriver,可以將其看作 Selenium RC 的替代品。為了保持向下的兼容性,Selenium 2.0 并沒有徹底拋棄 Selenium RC。

Selenium RC 與 WebDriver 的工作方式有著本質的區(qū)別。

Selenium RC 是在瀏覽器中運行 JavaScript 應用,使用瀏覽器內置的 JavaScript 翻譯器來翻譯和執(zhí)行 selenese 的(selenese 是 Selenium 命令集合)。

WebDriver 通過原生瀏覽器支持或者瀏覽器擴展來直接控制瀏覽器。WebDriver 是針對各個瀏覽器而開發(fā)的,取代了嵌入被測 Web 應用中的 JavaScript。WebDriver 與瀏覽器緊密集成,支持創(chuàng)建更高級的測試,避免了 JavaScript 安全模型導致的限制。除來自瀏覽器廠商的支持外,WebDriver 還可利用操作系統(tǒng)級的調用,模擬用戶輸入。

Selenium 與 WebDriver 原本屬于兩個不同的項目,WebDriver 的創(chuàng)建者 Simon Stewart早在 2009 年 8 月的一封郵件中解釋了項目合并的原因。

3.Selenium 3.0

2016 年 7 月,Selenium 3.0 悄悄發(fā)布了第一個 beta 版。Selenium 3.0 做了以下更新。

(1)去掉了 Selenium RC,簡單用公式表示如下:

Selenium 3.0 = Selenium 2.0 −Selenium RC

(2)Selenium 3.0 只支持 Java 8 以上版本。

(3)Selenium 3.0 中的 Firefox 瀏覽器驅動獨立了。Selenium 2.0 測試庫默認是集成Firefox 瀏覽器驅動的,在 Selenium 3.0 中,F(xiàn)irefox 瀏覽器和 Chrome 瀏覽器一樣,在使用前需要下載和設置瀏覽器驅動。

(4)mac OS 操作系統(tǒng)集成了 Safari 的瀏覽器驅動,該驅動默認在/usr/bin/safaridriver 目錄下。

(5)只支持 IE 9.0 以上版本。

4.Selenium IDE

Selenium IDE 同樣是 Selenium的家族成員。Selenium IDE 有兩個版本,舊版的 Selenium IDE 是基于 Firefox 瀏覽器擴展的

它提供了比較完備的自動化功能,如腳本錄制/回放、定時任務等;還可以將錄制的腳本導成不同編程語言的 Selenium 測試腳本,這在很大程度上可以幫助新手編寫測試用例。

但舊版的 Selenium IDE 不支持 Firefox 新版本支持的 API,因此 Selenium 團隊重新開發(fā)了新版的 Selenium IDE,可以同時支持 Chrome、Firefox 以及其他瀏覽器。

新版的 Selenium IDE 如圖所示,功能比較簡單

2. selenium的環(huán)境配置步驟

  • 1.準備好python環(huán)境
  • 2.準備好selenium環(huán)境
  • 3.下載瀏覽器對應的driver版本
  • 4.driver配置環(huán)境變量
  • 5.在python中import對應的依賴

2.1 安裝/卸載 selenium

打開cmd窗口,

使用命令“pip install selenium”安裝selenium

然后用命令“pip show selenium”查看是否安裝成功。

卸載命令pip uninstall selenium

Selenium 版本 3.141.0

Python IDLE 驗證:沒有報錯證明成功

2.2 安裝 drive

設置瀏覽器的驅動非常簡單。 我們可以手動創(chuàng)建一個存放瀏覽器驅動的目錄,如: D:\driver , 將下載的瀏覽器驅動文件(例如:chromedriver、geckodriver、IEDriverServer)丟到該目錄下。

我的電腦–>屬性–>系統(tǒng)設置–>高級–>環(huán)境變量–>系統(tǒng)變量–>Path,將“D:\driver”目錄添加到Path的值中。

Path

; D:\driver

注意:drive的版本應該與瀏覽器保持兼容

 Chrome下載地址 https://www.chromedownloads.net/chrome64win-stable/list_2_2.html

 Chromedriver下載地址:http://chromedriver.storage.googleapis.com/index.html


?驗證驅動 打開python自帶的編輯器

代碼:

>>> import selenium
>>> from selenium import webdriver
>>> driver = webdriver.Chrome

注意:Chrome “C” 區(qū)分大小寫

3.selenium-webdriver元素定位參考

自動化只要掌握四步操作:獲取元素,操作元素,獲取返回結果,斷言(返回結果與期望結果是否一致),最后自動出測試報告。本篇主要講如何用firefox輔助工具進行元素定位。(新版本的Chrome右鍵”檢查”可以查看元素)
元素定位在這四個環(huán)節(jié)中是至關重要的,如果說按學習精力分配的話,元素定位占70%;操作元素10%,獲取返回結果10%;斷言10%。如果一個頁面上的元素不能被定位到,那后面的操作就無法繼續(xù)了。webdriver提供的八種基本元素定位方法。

selenium的webdriver提供了八種基本的元素定位方法,前面六種是通過元素的屬性來直接定位的,后面的xpath和css定位更加靈活,需要重點掌握其中一個。

  • 1.通過id定位:find_element_by_id()
  • 2.通過name定位:find_element_by_name()
  • 3.通過class定位:find_element_by_class_name()
  • 4.通過tag定位:find_element_by_tag_name()
  • 5.通過link定位:find_element_by_link_text()
  • 6.通過partial_link定位:find_element_by_partial_link_text()
  • 7.通過xpath定位:find_element_by_xpath()
  • 8.通過css定位:find_element_by_css_selector()

4. 實例

import time
import selenium
from selenium import webdriver

# 1、創(chuàng)建Chrome實例 。
driver = webdriver.Chrome()
# 2、driver.get方法將定位在給定的URL的網(wǎng)頁 。
driver.get("https://www.baidu.com/")  # get接受url可以是如何網(wǎng)址,此處以百度為例
# 3、定位元素
# 3.1、用id定位輸入框對象,
driver.find_element_by_id("kw").send_keys("python")
# 3.2、用id定位點擊對象,用click()觸發(fā)點擊事件
driver.find_element_by_id('su').click()
# 延遲3秒
time.sleep(3)
# 4、退出訪問的實例網(wǎng)站。
driver.quit()

到此這篇關于Python語言中的Selenium環(huán)境搭建的文章就介紹到這了,更多相關Python Selenium環(huán)境搭建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論