譯自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插件做四種類型的操作:
- 顯示源代碼 - 它可以讓你重新查看JavaScript引擎渲染之後的HTML網頁。
- 高亮顯示變化 - 它可以檢測並高亮(黃色)顯示任何HTML頁面的改變。這個特性可以立即獲取你的注意,以確保你沒有錯過什麼。
- 快速檢查 - FireBug有
Inspect
功能,能夠讓你快速查看你想要的web元素的定位器。 - 複製HTML - 你可以輕鬆地複製HTML網頁的代碼,或用
innerHTML
獲取部分網頁,或者某個元素的XPath表達式。
如何在Firefox安裝FireBug
你可以在Firefox插件商店輕鬆下載到FireBug插件。
1- 菜單選項 Tools
>> Web Developer
>> Get More Tools
(中文: 工具
>> Web開發者
>> 獲取更多工具
)
2- 上述動作將會加載一個網頁。你會發現一個選項來下載/安裝FireBug插件。你需要點擊“添加到Firefox”按鈕來啓動該進程。
3- 當點擊添加鏈接,你會看到下面的彈出窗口。現在,單擊“安裝”按鈕即可完成安裝。
4- 安裝完成後,用 F12
快捷鍵可啓動FireBug插件。如下圖:
學習如何使用FireBug尋找元素定位器
使用FireBug很簡單,只需要按照以下步驟:
1- 右鍵點擊任何對象,並按下“用FireBug查看元素”選項,如下圖,它會打開一個HTML代碼窗口。
2- 從代碼窗口,再單擊右鍵,選擇“複製XPath”選項來獲取元素的XPath定位器,或者你可以嘗試其他選項。
什麼是FirePath附加組件
這個插件擴展FireBug的功能。它帶來能夠修改、檢查、生產XPath和CSS選擇定位器的功能。
爲什麼FirePath在Selenium自動化中如此有用
1- 你可以提供自定義的XPath值,並直接在網頁上測試他們的正確性。
2- 它像FireBug一樣返回你選擇的元素的XPath
如何在Firefox安裝FirePath
我們上面說過FirePath僅僅是擴展FireBug的能力,所以,你應該在安裝FireBug之後再安裝FirePath。
1- 與安裝FireBug的過程相同,只要到 工具
>> Web開發者
>> 獲取更多工具
。
2- 搜索FirePath插件並點擊“添加到Firefox”按鈕。
3- 點擊add選項之後,將打開FirePath安裝對話框,你必須點擊“安裝”按鈕完成安裝。
4- 現在,你可以按 F12
快捷鍵,點擊 FirePath
選項打開FirePath工具欄。
如何使用FirePath找到元素定位器
FirePath使用起來甚至比FireBug更簡單。按照下面的步驟操作:
1- 打開FireBug,然後點擊 FirePath
標籤。你可以看到一個XPath編輯框,它指向你選擇的web元素。在這裏你可以自己寫XPath,然後用 Highlight
按鈕驗證它。
2- FirePath插件很直接地顯示XPath,你可以輕鬆地複製web元素的XPath,並將之用在你的自動化中。
動態 - 安裝並使用FireBug和FirePath
現在,是時候總結下你在這篇文章中學到了什麼。看看下面的GIF動畫,其中包含了插件的安裝,以及上面介紹的部分使用流程。
比較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有關的問題。