元素定位-xpath
xpath其實就是一個path(路徑),一個描述頁面元素位置信息的路徑,相當於元素的座標
xpath基於XML文檔樹狀結構,是XML路徑語言,用來查詢XML文檔中的節點
- 絕對定位
從根開始找–/根目錄
/html/body/div[2]/div/form/div[5]/button
缺點:一旦頁面結構發生變化(比如重新設計時,路徑少了兩節),該路徑也隨之失效,必須重新寫
- xpath相對路徑:只要不是/開始的,就是相對路徑
//*[@name=‘phone’]
路徑解釋:
(1)// 匹配指定節點,不考慮它們位置(/則表示絕對路徑,從根下開始)
(2)*
通配符,匹配任意元素節點。
(3)@ 選取屬性
(4)[] 屬性判斷條件表達式
相對定位優點:靈活、方便、耦合性低
xpath元素定位示例
可用開發者工具確認元素定位是否唯一:
xpath元素定位示例如下:
//input[@maxlength='100']
複合定位如下所示:
//input[@maxlength='100' and @autocomplete='off']
定位到“新聞”文字如下所示:
//a[text()='新聞']
定位到包含“聞”字如下所示:
//a[contains(text(),'聞')]
//a[contains(text(),'hao123')]
以下xpath能唯一定位到百度搜索欄:
以下xpath能唯一定位到“新聞”文字: