自動化測試 Xpath選擇器一些注意點

2022-06-05 15:51:08 字數 1628 閱讀 8444

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 快...

關於自動化測試的一些思考。

我們都知道自動化測試是一種不錯的回歸測試的解決方案,我們一直想在自己負責的被測試產品 模組中引入自動化測試,但是,是不是應該大張旗鼓的在產品測試過程中引入自動化?要知道回歸測試是有其專用目的的,主要是為了驗證原來好用的功能現在仍繼續好用,發現原來好用但現在不好用的功能。要知道自動化測試指令碼的完全建...