xpath基本操作用法

2021-08-28 18:42:44 字數 2345 閱讀 5925

查詢python lxml庫用法:lxml.de/

from lxml import etree

text = '''

'''#html初始化,構造乙個xpath解析物件

# html = etree.html(text)

#通過.tostring 生成乙個修正過的bytes型別的html**

# result = etree.tostring(html)

# print(result.decode('utf-8'))

#讀取本地html檔案

# html = etree.parse('./res.html',etree.htmlparser())

# result = etree.tostring(html)

# print(result.decode('utf-8'))

#獲取所有節點

# html = etree.parse('./res.html',etree.htmlparser())

# result = html.xpath('//*')

# print(result)

html = etree.parse('./2.html',etree.htmlparser())

#5獲取所有節點 獲取本地html所有li節點

# result = html.xpath('//li')

# print(result[0])

#6子節點 獲取li裡面的a節點

# result = html.xpath('//li/a')

#7父節點 獲取href屬性叫link3.html的a節點的父節點的class屬性

# result = html.xpath('//a[@href="link3.html"]/../@class')

#8屬性匹配獲取class為item-0的li節點

# result = html.xpath('//li[@class="item-0"]')

#9文字獲取。獲取所有li節點下a節點的內容

# result = html.xpath('//li/a/text()')

# result = html.xpath('//li[@class="item-0"]//text()')

#10屬性獲取

# result = html.xpath('//li/a/@href')

#11 屬性多值匹配

# result = html.xpath('//li[contains(@class,"class_1")]/a/text()')

#12多屬性匹配

# result = html.xpath('//li[contains(@class,"class_1") and @name="item"]/a/text()')

#13 按順序選擇

# result1 = html.xpath('//li[1]/a/text()')

# result2 = html.xpath('//li[last()]/a/text()')

# result3 = html.xpath('//li[position()<3]/a/text()')

# result4 = html.xpath('//li[last()-2]/a/text()')

# print(result1)

# print(result2)

# print(result3)

# print(result4)

# 14節點軸選擇

#所有祖先節點

result = html.xpath('//li[1]/ancestor::*')

#祖先節點裡的div

result = html.xpath('//li[1]/ancestor::div')

#attribute獲取節點所有屬性

result = html.xpath('//li[1]/atrribute::*')

#child獲取所有直接子節點

result = html.xpath('//li[1]/child::a[@href="link1.html"]')

#descendant,獲取所有子孫節點,加要求span

result = html.xpath('//li[1]/descendant::span')

#following 獲取當前節點後的所有節點,加要求只獲取第二個後續節點

result = html.xpath('//li[1]/following::*[2]')

#following-sibling 獲取當前節點之後的所有同級節點

result = html.xpath('//li[1]/following-sibling::*')

Xpath基本用法

my listr tree findnodes as string ul id brand li a class bd 可以利用正規表示式來過濾。程式設計中經常會用到xml,net framework提供了專門對xml進行處理的dll,裡面提供了很多對xml處理的方法,在這裡簡單介紹一下xpath的...

Xpath基本用法

定位地圖 driver.find element by xpath text 地圖 多重定位 driver.find element by xpath text 新聞 and name tj trnews 模糊文字查詢 contains text hao 模糊匹配某個屬性 contains name...

xpath基本用法初入門

css是一門美化的語言 xpath是一門查詢元素路徑的語言,絕對路徑用單斜槓表示,相對路徑用雙斜槓表示,能用相對路徑,就不要用絕對路徑,相對路徑更加穩定,可讀性更強 路徑也可以右擊copy f12,element 選擇這個元素對應xml,右擊,copy xpath 不建議用,基本不準確 元素的組成 ...