#選擇不包含class屬性的節點
result = article.xpath(
"//span[not(@class)]");
#選擇不包含class和id屬性的節點
result = article.xpath(
"//span[not(@class) and not(@id)]");
#選擇不包含class="expire"的span
result = article.xpath(
"//span[not(contains(@class,'expire'))]");
#選擇包含class="expire"的span
result = article.xpath(
".//span[contains(@class,'expire')]");
#查詢name屬性中開始位置包含'name1'關鍵字的頁面元素
result = article.xpath(
"//input[starts-with(@name,'name1')]");
#查詢name屬性中包含na關鍵字的頁面元素
result = article.xpath(
"//input[contains(@name,'na')]");
result = article.xpath();
result = article.xpath();
result = article.xpath();
result = article.xpath(
"//input[@type='submit'][@name='****']");
result = article.xpath(
"//input[@type='submit' and @name='****']");
result = article.xpath(
"//input[@type='submit' or @name='****']");
#它會取class含有有a和b的元素
result = article.xpath(
'//div[contains(@class,"a") and contains(@class,"b")]'
)#它會取class 含有 a 或者 b滿足時,或者同時滿足時的元素
result = article.xpath(
'//div[contains(@class,"a") or contains(@class,"b")]'
)#查詢所有input標籤中含有type屬性的元素
result = article.xpath(
"//input[@type]");
#匹配id以aa開頭的元素,id='aaname'
result = article.xpath(
"//input[start-with(@id,'aa')]");
#匹配id以aa結尾的元素,id='nameaa'
result = article.xpath(
"//input[ends-with(@id,'aa')]");
#匹配id中含有aa的元素,id='nameaaname'
result = article.xpath(
"//input[contains(@id,'aa')]");
#匹配所有input元素中含有屬性的name的元素
result = article.xpath(
"//input[@*='name']");
#選取 id 屬性為 form 的任意屬性內部,並且 type 屬性為 text 的任意元素。這裡會找到 input
result = article.xpath(
"//*[@id='form']//*[@type='text']");
#先通過/..找到 span 的父節點,再通過父節點找到 div
result = article.xpath(
"//span[@class='bg']/../div");
#查詢倒數第幾個子元素,選取 form 下的倒數第乙個 span
result = article.xpath(
"//form[@id='form']/span[last()-1]");
#使用 position() 函式,選取 from 下第二個 span
result = article.xpath(
"//form[@id='form']/span[position()=2]");
#使用 position() 函式,選取下標大於 2 的 span
result = article.xpath(
"//form[@id='form']/span[position()>2]");
#使用|,同時查詢多個路徑,取或
result = article.xpath(
"//form[@id='form']//span | //form[@id='form']//input");
# 獲取每組li中的第乙個li節點裡面的a的文字
result = html.xpath(
"//li[1]/a/text()"
)# 獲取每組li中最後乙個li節點裡面的a的文字
result = html.xpath(
"//li[last()]/a/text()"
)# 獲取每組li中前兩個li節點裡面的a的文字
result = html.xpath(
"//li[position()<3]/a/text()"
)# 獲取每組li中倒數第三個li節點裡面的a的文字
result = html.xpath(
"//li[last()-2]/a/text()"
)# 獲取li的所有祖先節點
result = html.xpath(
"//li[1]/ancestor::*"
)# 獲取li的所有祖先中的ul節點
result = html.xpath(
"//li[1]/ancestor::ul"
)# 獲取li中a節點的所有屬性值
result = html.xpath(
"//li[1]/a/attribute::*"
)#獲取li子節點中屬性href值的a節點
result = html.xpath(
)# 獲取body中的所有子孫節點a
result = html.xpath(
"//body/descendant::a"
)#獲取li中的第三個節點
result = html.xpath(
"//li[3]"
)#獲取第三個li節點之後所有li節點
result = html.xpath(
"//li[3]/following::li"
)#獲取第三個li節點之後所有同級li節點
result = html.xpath(
"//li[3]/following-sibling::*"
)#獲取ul li下面所有span標籤的文字值
result = html.xpath(
"//ul//li//span//text()"
)
xpath的用法(例項詳解)
1 xpath基本語法 article 選取所有article元素的所有子節點 article 選取根元素article article a 選取所有屬於article的子元素的a元素 div 選取所有div子元素 不論出現在文件任何地方 article div 選取所有屬於article元素的後代...
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...