[譯]Selenium —— 怎樣使用FireBug和FirePath

譯自techbeamers,原文鏈接


怎樣使用FireBug和FirePath尋找定位器

什麼是XPATH

XPath是用於在網頁上唯一的識別元素的技術,它就像HTML元素的地址,比如check boxes、text或div等。在Selenium裏,我們認爲XPath是最值得信賴的定位器之一。關於XPath更多的內容,請閱讀 W3School XPath教程

什麼是FireBug插件

Firebug是Firefox瀏覽器最著名的附加組件。它跟Firefox的結合產生了大量的工具可用於web開發。它可以讓你在網頁上實時地修改、管理和監控CSS、HTML和JavaScript。

爲什麼FireBug在Selenium自動化中如此有用

通常情況下,你可以用FireBug插件做四種類型的操作:

  1. 顯示源代碼 - 它可以讓你重新查看JavaScript引擎渲染之後的HTML網頁。
  2. 高亮顯示變化 - 它可以檢測並高亮(黃色)顯示任何HTML頁面的改變。這個特性可以立即獲取你的注意,以確保你沒有錯過什麼。
  3. 快速檢查 - FireBug有 Inspect 功能,能夠讓你快速查看你想要的web元素的定位器。
  4. 複製HTML - 你可以輕鬆地複製HTML網頁的代碼,或用 innerHTML 獲取部分網頁,或者某個元素的XPath表達式。

如何在Firefox安裝FireBug

你可以在Firefox插件商店輕鬆下載到FireBug插件。

1- 菜單選項 Tools >> Web Developer >> Get More Tools(中文: 工具 >> Web開發者 >> 獲取更多工具

2- 上述動作將會加載一個網頁。你會發現一個選項來下載/安裝FireBug插件。你需要點擊“添加到Firefox”按鈕來啓動該進程。

download firebug

3- 當點擊添加鏈接,你會看到下面的彈出窗口。現在,單擊“安裝”按鈕即可完成安裝。

install firebug

4- 安裝完成後,用 F12 快捷鍵可啓動FireBug插件。如下圖:

use firebug

學習如何使用FireBug尋找元素定位器

使用FireBug很簡單,只需要按照以下步驟:

1- 右鍵點擊任何對象,並按下“用FireBug查看元素”選項,如下圖,它會打開一個HTML代碼窗口。

2- 從代碼窗口,再單擊右鍵,選擇“複製XPath”選項來獲取元素的XPath定位器,或者你可以嘗試其他選項。

copy xpath

什麼是FirePath附加組件

這個插件擴展FireBug的功能。它帶來能夠修改、檢查、生產XPath和CSS選擇定位器的功能。

爲什麼FirePath在Selenium自動化中如此有用

1- 你可以提供自定義的XPath值,並直接在網頁上測試他們的正確性。

2- 它像FireBug一樣返回你選擇的元素的XPath

如何在Firefox安裝FirePath

我們上面說過FirePath僅僅是擴展FireBug的能力,所以,你應該在安裝FireBug之後再安裝FirePath。

1- 與安裝FireBug的過程相同,只要到 工具 >> Web開發者 >> 獲取更多工具

2- 搜索FirePath插件並點擊“添加到Firefox”按鈕。

add firepath

3- 點擊add選項之後,將打開FirePath安裝對話框,你必須點擊“安裝”按鈕完成安裝。

install firepath

4- 現在,你可以按 F12 快捷鍵,點擊 FirePath 選項打開FirePath工具欄。

use firepath

如何使用FirePath找到元素定位器

FirePath使用起來甚至比FireBug更簡單。按照下面的步驟操作:

1- 打開FireBug,然後點擊 FirePath 標籤。你可以看到一個XPath編輯框,它指向你選擇的web元素。在這裏你可以自己寫XPath,然後用 Highlight 按鈕驗證它。

highlight xpath

2- FirePath插件很直接地顯示XPath,你可以輕鬆地複製web元素的XPath,並將之用在你的自動化中。

動態 - 安裝並使用FireBug和FirePath

現在,是時候總結下你在這篇文章中學到了什麼。看看下面的GIF動畫,其中包含了插件的安裝,以及上面介紹的部分使用流程。

how to install and use firebug and firepath

比較FireBug和FirePath

兩者之間的根本區別在於FireBug返回絕對XPath,但FirePath返回的是相對路徑。看看下面的示例。雖然你也可以調整FirePath產生絕對XPath。

# 下面示例是FireBug產生的絕對XPath

html/body/div[2]/div/div/aside/div[5]/ul/li[1]/a
# 下面示例是FirePath生成的相對路徑

.//*[@id='category-posts-5']/ul/li[2]/a

當然,最後博主還得推薦幾篇自己的博客給各位品鑑,主要是對於學習Python + Selenium的同學,可以多看看博主的博客(當然用Java的同學也可借鑑):

1. Python selenium —— 教你在Windows上搭建Python+Selenium環境,這篇博客主要講了Python Selenium的Windows環境搭建。

2. Python selenium —— webdriver cheat sheet(webdriver備忘單),這篇博客主要分享了Webdriver備忘單,用來對Webdriver中一些方法的速查,很有用。

3. Python selenium —— XPath and CSS cheat sheet,這篇博客主要分享了XPath和CSS的備忘單,放在手邊,可以幫助你迅速找到定位某個元素的方法,極力推薦。

4. Python selenium —— Webdriver Exception cheat sheet,這篇博客主要分享了Webdriver異常備忘單,遇到異常怎麼辦,速查一下什麼原因,方便你針對性解決問題。


還有很多,請關注博主的CSDN博客專欄:Python Selenium自動化測試詳解

最後,博主最近新建了一個QQ羣,用於Python Selenium的技術交流,不討論其他技術,不討論其他語言,專注於Python+Selenium的技術交流與分享,感興趣的同學可以加羣(455478219),也可直接點擊下面的圖片加羣:

Python Selenium交流羣

歡迎來跟博主討論Python Selenium有關的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章