一.絕對路徑(不要使用,除非已經使用了所有方式仍然無法定位)
方法:根據實際目錄,逐層輸寫。
例子: find_element_by_xpath("/html/body/div[2]/form/span/input") #div[2]指第2個元素
二.相對路徑(建議使用)
方法:首先找目錄元素是否有」精準元素「即唯一能標識的屬性,找到,則用此屬性定位;
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()='新聞']") 查詢所有內容為退出二字的元素
注意:元素屬性值有空格時,盡量不使用帶空格,可用contains等其他方法,避開空格
Xpath常用元素定位方式
原文 一 xpath是什麼 xpath是一種在xml文件中查詢指定資訊的語言 可用於在xml中進行元素和屬性的遍歷 xpath使用表示式來選取xml中的節點或節點集 二 xpath常用定位方法 1.通過元素本身的唯一屬性定位 方法 找到目標元素所在的 精準元素 即唯一標識屬性,使用此屬性定位 1.1...
元素定位 XPATH定位方法總結
xpath是比較常用的一種定位元素的方式,因為它很方便,缺點是,消耗系統效能。如果xpath使用的比較好,幾乎可以定位到任何頁面元素,而且受頁面變化影響較小。xpath xml path language 是一門在 html文件中查詢資訊的語言,可用來在 html文件中對元素和屬性進行遍歷。詳細使用...
selenium元素定位Xpath
1.絕對路徑定位 用標籤的層級關係來定位元素,最外層語言為html,接著是body,一級一級的往下找,如果同一級,有多個相同的標籤,那麼按照上下順序確定第幾個,例 div 2 表示當前層級下第二個div 2.元素屬性定位 利用元素的屬性來定位元素 find element by xpath 元素名或...