欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python定位xpath 節點位置的方法

系統 2121 0

chrome 右鍵有copy xpath地址

但是有些時候獲取的可能不對

可以自己用代碼驗證一下

如果還是不行 可以考慮從源碼當中取出來

趁熱打鐵,使用前一篇文章中 XPath 節點來定位HTML 頁面。

HTML文件如下(您可以將其拷貝,保存成html文件,跟我筆者實驗):

            
            
              Storm
            
            

這是一個h1標簽

文本域1:
文本域2:
密碼字段:
單選按鈕1: male female
寵物: 兔子

1、節點

上面的HTML文件, 為根節點,他有個lang的屬性,他有兩個子節點和。

2、選取節點實驗

(1)/,從根節點選取

下面的代碼從根節點開始選取所有的html元素(這里只有一個),打印tag name,就是html

            
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(r'file:///E:\python\test1\day1\test0.html')
eles = driver.find_elements_by_xpath('/html')
for ele in eles:
 print(ele.tag_name)
driver.quit()

          

運行結果

            
C:\Python36\python.exe E:/python/test1/day1/test9.py
html


Process finished with exit code 0

          

(2)//,從目標節點下選取

下面的xpath,意思就是我要去找head,找到就保存到eles里面,不一定需要在根目錄下面找

            
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(r'file:///E:\python\test1\day1\test0.html')
eles = driver.find_elements_by_xpath('//head')
for ele in eles:
 print(ele.tag_name)
driver.quit()

          

運行結果:

            
C:\Python36\python.exe E:/python/test1/day1/test9.py
head


Process finished with exit code 0

          

如果我換成下面的xpath,結果會如何呢?

            
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(r'file:///E:\python\test1\day1\test0.html')
eles = driver.find_elements_by_xpath('/head')
for ele in eles:
 print(ele.tag_name)
driver.quit()


          

從根節點選取head元素,跟節點不是head元素,所以找不到,打印為空

(3). ,選取當前節點;.. ,選取父節點

下面的xpath,第一個,匹配到head元素,然后分配找head當前節點(就是head);head父節點(是html)

            
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(r'file:///E:\python\test1\day1\test0.html')
eles2 = driver.find_elements_by_xpath('//head/.')
eles3 = driver.find_elements_by_xpath('//head/..')

for ele in eles2:
 print(ele.tag_name)

for ele in eles3:
 print(ele.tag_name)
driver.quit()

          

運行結果:

            
C:\Python36\python.exe E:/python/test1/day1/test9.py
head
html


Process finished with exit code 0

          

(4)@ 選取屬性

下面xpath為,匹配任意元素,其有個屬性charset,值為UTF-8。

            
from selenium import webdriver
 

 

driver = webdriver.Chrome()
driver.get(r'file:///E:\python\test1\day1\test0.html')
eles3 = driver.find_elements_by_xpath('//*[@charset="UTF-8"]')
for ele in eles3:
 print(ele.tag_name)
driver.quit()

          

運行結果為:

            
C:\Python36\python.exe E:/python/test1/day1/test9.py
meta


Process finished with exit code 0

          

3、謂語實驗

(1)[1]

選擇第一個form元素下面的第一個input元素,打印name屬性值

            
eles1 = driver.find_elements_by_xpath('//form[1]/input[1]')
for ele in eles1:
 print(ele.get_attribute('name'))
          

運行結果:first_name

(2)[last()]

            
eles1 = driver.find_elements_by_xpath('//form[1]/input[last()]')
          

運行結果:last_name

(3)[last()-1]

            
eles1 = driver.find_elements_by_xpath('//form[1]/input[last()-1]')
          

運行結果:first_name

(4)[position()<3]

            
eles1 = driver.find_elements_by_xpath('//form[1]/input[position()<3]')
          

運行結果:

            
first_name
last_name
          

(5)h1[@class]

在body元素下層找具有class屬性的h1標簽

            
eles1 = driver.find_elements_by_xpath('//body/h1[@class]')
for ele in eles1:
 print(ele.tag_name)
          

(6)h1[@class="cname"]

在body元素下層找具有class屬性的h1標簽,且值為cname

            
eles1 = driver.find_elements_by_xpath('//body/h1[@class="cname"]')
          

(7)input[xxx>35]

這個沒找到合適的例子,暫缺

4、選取未知節點――通過通配符實現

(1)//form[1]/*

選擇form[1]下的所有元素

            
eles1 = driver.find_elements_by_xpath('//form[1]/*')
for ele in eles1:
 print(ele.get_attribute('name'))
          

運行結果:

            
first_name
None
last_name
          

(2)//*

選擇所有元素

            
eles1 = driver.find_elements_by_xpath('//*')
for ele in eles1:
 print(ele.tag_name)
          

運行結果:

            
html
head
meta
title
body
h1
form
input
br
input
form
input
form
input
input
form
input
input
input
input
          

(3)//input[@*]

匹配只要有任意屬性的input元素

以上這篇python定位xpath 節點位置的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美一级高潮片免费的 | 久久av电影院 | 天天干精品 | 亚洲精品久久久久中文字幕欢迎你 | 日韩久久精品 | 久久精品久久久久电影 | 91久久青青草原免费 | 国产精品手机在线 | 欧美一区二区三区四区视频 | 99久久国产综合精品2020 | 国产高清一区二区三区 | 国产一区在线播放 | 一级黄色大片视频 | 天天艹日日干 | 青青免费视频精品一区二区 | 一区二区三区国产在线 | 精品国产视频在线观看 | 伊人9999 | 欧美综合一区二区 | 在线视频综合视频免费观看 | www.99精品视频在线播放 | 亚洲国产精品无码AV久久久 | 丝袜美腿一区二区三区动态图 | 波多野结衣一区二区三区四区 | 亚洲综合在线另类色区奇米 | 欧美中文字幕在线播放 | 黄色一级a毛片 | 亚洲欧洲精品成人久久奇米网 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久九 | 波多野结衣一区二区三区四区 | 色www精品视频在线观看 | 日本人妖miran护士 | 91偷拍精品一区二区三区 | 日本夜夜操 | 国产精品99一区二区三区 | 另类婷婷 | 香蕉久久久久久 | 久久久91精品国产一区二区三区 | 国产传媒在线播放 | 亚洲免费人成在线视频观看 |