六、 / 和 // 的區別: / 代表只獲取直接子節點; // 代表獲取子孫節點,一般 // 用的多
七、Xpath語法:分為四個部分
1、選取節點 :就是用什麼樣的方法去選取節點
表達式 作用 用法 用法說明
(1) nodename 節點名 //div 這個div就是nodename,節點名
----------------------------------------------------------------------------------------
(2) / 有兩個作用:如果在最前面代表 /html 只在整個HTML文檔中查找根節
只在根節點查找。否則代表直接子元素 點下的 html 元素
----------------------------------------------------------------------------------------
(3) // 從全局節點中選擇節點,隨便在哪個位置 //div 在整個HTML文檔查找所有的div元素
----------------------------------------------------------------------------------------
(4) @ 選取某個節點的屬性 //div[@id] 選擇所有擁有id屬性的div元素
----------------------------------------------------------------------------------------
如果出現格式問題,請移步到PC端觀看
2、謂語(wei zi) :通過謂語可以在查找節點的同時添加篩選條件,就是中括號中的東西
用法:
(1) 只獲取body下的 "第1個" div 元素 -- //body/div[1]
(2) 獲取body下的 "最後一個" div元素 -- //body/div[last()]
(3) 只獲取 "前兩個" div元素 -- //body/div[position()<3]
(4) 只獲取擁有class="s_position_list"屬性的div元素 -- //div[@class="s_position_list"]
(5) contains 模糊匹配方法:當一個元素有多個屬性時使用,例如:一個div元素同時有class
和fl屬性 //div[contains(@class, "fl")]
3、通配符 :就是 * ,代表的是任意字符,任意節點,任意屬性等
用法:
(1) * 意思是匹配任意字符 : 要求:獲取body下的所有元素 -- 語法://body/*
(2) @* 意思是獲取所有屬性 : 要求:只要擁有屬性的div都提取出來 -- 語法://div[@*]
4、選取多個路徑:通過 | 運算符,可以同時選取若干個路徑
要求1:獲取 屬性為 class="job_bt" 或 class="job_adv" 的 div 元素
語法: //dd[@class="job_bt"] | //dd[@class="job_adv"]
要求2:獲取 class="job_detail" 並且 id="job_detail" 屬性的 dl 元素
語法://dl[@class="job_detail" and @id="job_detail"]
【純個人手打,替老師傳道,不求多大成就但願 能幫到大家,在閒暇的時間裡為大家共享一些工作經驗和各種技術資源文章,希望幫助大家共同進步 也希望我的發佈對你有所幫助,我的發佈裡有更多類似的文章可以查閱,喜歡的請點關注,謝謝。你們的關注是我不停發佈的最大動力在我發佈裡好多類似這樣的文章,請盡情閱覽】