python_selenium之xpath的使用
一、xpath介紹
Xpath:XPath即為XML路徑語言,它是一種用來確定XML(標准通用標記語言的子集)文檔中某部分位置的語言。XPath基於XML的樹狀結構,提供在數據結構樹中找尋節點的能力,XPath 很快的被開發者采用來當作小型查詢語言。
學習地址:http://www.w3school.com.cn/xpath/index.asp
Selenium一共有八種元素定位方法,其中,在實際開發自動化腳本過程中,xpath的使用時最多的一種方法,本文介紹如何通過xpath來元素定位。
二、xpath工具安裝
1. 我習慣性用谷歌進行自動化測試,因此我在谷歌中下載xpath helper插件,可以快速獲取網頁元素的xpath表達式。(xpath helper快捷鍵:Ctrl+shift+x-打開或關閉)
2. 直接在谷歌中添加至瀏覽器中即可。
3. 添加完畢之后會在谷歌瀏覽器的右上角有一個x的圖標。
三、xpath工具簡單使用
1. 打開谷歌瀏覽器,輸入www.baidu.com,然后按下:Ctrl+shift+x打開xpath helper插件,選中界面上的某個方框,然后按住shift,xpath表達式會顯示在框框中,如下圖所示:
2. 按住【F12】,從xpath helper插件工具中可以查看到上圖中黃色標注的方框的id,那我們簡寫一下上述xpath表達式,簡寫為:【//*[@id='kw']】,可以看到如上圖一樣的效果,因為這里的id是唯一的。
3. 因此我們可以簡單的寫一個xpath測試小腳本
# coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("https://www.baidu.com")#打開百度首頁
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")#找到輸入框並且填入”selenium”
driver.find_element_by_xpath("//*[@id='su']").click()#然后點擊“百度一下”
time.sleep(2)#等待兩秒
driver.quit()#關閉瀏覽器