Xpath常用元素定位方式

2021-09-25 02:36:02 字數 1608 閱讀 9963

原文:

一、xpath是什麼:

xpath是一種在xml文件中查詢指定資訊的語言;可用於在xml中進行元素和屬性的遍歷

xpath使用表示式來選取xml中的節點或節點集;

二、xpath常用定位方法:

1. 通過元素本身的唯一屬性定位

方法:找到目標元素所在的」精準元素「即唯一標識屬性,使用此屬性定位

1.1 通過id屬性定位

例:find_element_by_xpath("//input[@id='input']")        #@後跟屬性,可以是任何屬性

1.2 通過name屬性定位

例:find_element_by_xpath("//div[@name='q']")

2. 通過上一級目錄的唯一屬性定位

方法:目標元素沒有唯一屬性,則去找到與目標元素相近的上級目錄中」唯一元素「作為起始位置,然後根據此相對位置逐層往子目錄編寫到目標位置

例:find_element_by_xpath("//span[@id='input-container']/input") 

find_element_by_xpath("//div[@id='hd']/form/span/input")

find_element_by_xpath("//div[@name='q']/form/span/input")

3.  xpath做布林邏輯運算

find_element_by_xpath("//div[@id='hd' or @name='q']")

4. 雙條件同時過濾

find_element_by_xpath("//div[@id='hd'][@name='q'")

5.目錄元素存在層級關係

find_element_by_xpath("//form[@id='j_login_form]/dl/dt/input[@id='j_password']") 

6. 模糊定位

6.1 contains 方法(包含)

find_element_by_xpath("//a[contains(@name,'trnews')]")

6.2 start-with方法(以xx開頭)

6.3 text方法

find_element_by_xpath("//a[contains(text(),'新聞')]")  查詢超連結元素的文字內容

find_element_by_xpath("//*[text()='新聞']")  查詢所有內容為退出二字的元素

7、xpath的一些包含邏輯的用法

//*[count(***)=2] //統計***元素個數=2的節點

//*[local-name()='***'] //找到tag為***的元素

//*[starts-with(local-name(),'x')] //找到所有tag以x開頭的元素

//*[contains(local-name(),'x')] //找到所有tag包含x的元素

//*[string-length(local-name())=3] //找到所有tag長度為3的元素

//*** | //yyy //多個路徑查詢

元素定位方式Xpath總結

一.絕對路徑 不要使用,除非已經使用了所有方式仍然無法定位 方法 根據實際目錄,逐層輸寫。例子 find element by xpath html body div 2 form span input div 2 指第2個元素 二.相對路徑 建議使用 方法 首先找目錄元素是否有 精準元素 即唯一能...

xpath元素定位常用操作

作用 對當前頁面測試xpath語法規則安裝 根據平台判斷是否修改副檔名 開啟擴充套件程式介面 拖動外掛程式安裝 絕對路徑 相對路徑 當前節點 上層節點 title text 從開閉標籤間取文字內容 link href 從選中節點標籤中獲取指定屬性值 1.通過索引修飾節點 bookstore book...

selenium元素定位Xpath

1.絕對路徑定位 用標籤的層級關係來定位元素,最外層語言為html,接著是body,一級一級的往下找,如果同一級,有多個相同的標籤,那麼按照上下順序確定第幾個,例 div 2 表示當前層級下第二個div 2.元素屬性定位 利用元素的屬性來定位元素 find element by xpath 元素名或...