1、xpath表示式:比較強大、靈活的選擇元素的方式
2、目前主流的瀏覽器chrome、firefox、edge、safari都支援xpath語法,xpath和xpath2兩個版本,目前支援的是xpath1的語法
一、根據id屬性來選擇:[@屬性名=「屬性值」]
選擇id為tes的元素 //*[@id='tes']
選擇有id屬性的元素 //*[@id]
選擇所有屬性id名 且tag為p //p[@id]
二、根據class選擇:注意 屬性值必須一模一樣,
div元素 //div[@class='tes']
三、選擇屬性包含multiple的元素
//*[@multiple]
四、css:選擇屬性值包含某個字串的元素abc
a[href*="abc"]
css::選擇屬性值某個字元開頭的
css:選擇屬性值謬個字串結尾的元素
a[href$='gov.cn']
xpath:屬性style 含有color
//*[contains(@style,'color')]
xpath:屬性style以color開頭//*[starts-with(@style,'color')]
目前瀏覽器不支援:以..為結尾
五、xpath : 可以按照次序選擇:
選擇p元素的第二個子元素://p[2]
父元素為div中的p的第二個元素
//div/p[2]
p型別的最後乙個元素
//p[last()]
倒數第二個元素
//p[last()-1]
六、xpath:可以選擇子元素的次序範圍
比如:選擇option型別的第乙個到第二個子元素
//option[position()<=2] or //option[position()<3]
獲取class屬性為a的前三個子元素
//*[@class='a']/*[position()<3]
選擇後三個元素
//*[@class='a']/option[position()>=last()-2]
七、組選擇器
選擇所有的option和h4元素,可以使用
// option | //h4
選擇所有clss為a和class b的元素 可以使用:
//*[@class='a'] | //*[@class='b']
八、選擇父節點
/..:屬性本身沒有什麼特徵
選擇id為b的父節點
//*[@id = 'b']/..
九、兄弟節點 : following-sibling::
選擇class為b的元素的所有後續兄弟節點div
//*[@class='b']/follwing-sibling::div
選擇前面的兄弟節點
//*[@class='b']/preceding-sibling::div
十、陷阱:找某個物件的內部的p,則需要在前面加上,
需要在某個物件加上.
c = self.driver.find_element_by_id("c")
e = c.find_elements_by_xpath(".//p")
CSS選擇器定位 自動化測試學習
1.css id選擇器查詢元素 注意 如果元素的id不唯一,或者是動態的 或者name以及linktext屬性值也不唯一 我們就需要考利用xpath來查詢元素了,然後再對元素執行操作不管用什麼方式查詢元素,id name xpath css等等 都需要在頁面上查詢到唯一的元素。都應該只找到乙個匹配的...
web自動化測試Xpath定位
find element by xpath 1.解決的問題 無id name class屬性 位置定位的元素為活動元素 2.xpath定位策略 1 路徑定位 1 絕對路徑 從起始位置開始的路徑 以 開頭。說明 從最外層元素到指定元素之間所有經過元素層級路徑 如 html body div p 0 快...
關於自動化測試的一些思考。
我們都知道自動化測試是一種不錯的回歸測試的解決方案,我們一直想在自己負責的被測試產品 模組中引入自動化測試,但是,是不是應該大張旗鼓的在產品測試過程中引入自動化?要知道回歸測試是有其專用目的的,主要是為了驗證原來好用的功能現在仍繼續好用,發現原來好用但現在不好用的功能。要知道自動化測試指令碼的完全建...