乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Xpath工具使用教程

       AS400r 2018-01-08

      八爪魚有個Xpath工具,可以幫助大家寫Xpath一些簡單的Xpath

      位置:除了打開網(wǎng)頁步驟沒有Xpath工具以外,其他步驟都有,一般在自定義里,

      點(diǎn)擊試試Xpath工具就可以打開

      先介紹一下Xpath工具的界面



      左上是填寫網(wǎng)址

      左中是瀏覽器

      左下是網(wǎng)頁源碼

      但是Xpath工具的網(wǎng)頁源碼層次不分明,不太好看

      查看網(wǎng)頁源碼這部分還是火狐的firepath比較好用

      火狐和一些基本Xpath用法在官網(wǎng)Xpath教程里有教

      http://www./tutorial?tag=xpath


      右上是定位參數(shù)(工具將根據(jù)你填寫的參數(shù)生成Xpath

      右下是點(diǎn)擊生成后生成的Xpath


      然后我們來看一下定位參數(shù)

      元素標(biāo)簽名稱:火狐里所有的藍(lán)色字體就是元素標(biāo)簽名稱,如下:span, a, hr, br等,具體你要填什么就要到火狐里看你要定位的那行代碼的最前面的藍(lán)色字體是什么,這里就寫什么,火狐里看得比較清楚。

      元素位置:默認(rèn)填了1,這個位置的意思就是第幾個,一般沒什么用,因?yàn)榛鸷镒詣由傻?/font>Xpath很多都是用位置定位的,要用這個不如用火狐生成來得快

      元素ID屬性值,元素name屬性值,元素class屬性值:

      屬性值就是一行源碼內(nèi)用<>尖括號括起來的參數(shù),會有很多,不定

      這里的三個屬性值是大部分網(wǎng)頁都會有的屬性值,這里只有三種,但是生成后自己改也是可以的

      例:

      這行源碼里就有class屬性,href屬性,style屬性,type屬性,4個屬性

      每個都可以用來定位,根據(jù)不同需要

      如果要用class屬性值定位就直接把class=后面雙引號內(nèi)部的參數(shù)復(fù)制出來,粘到格子里按生成就會自動生成以class屬性值定位的Xpath代碼

      例:

      如果想用href屬性值定位,也是將href=后面雙引號內(nèi)部的參數(shù)復(fù)制出來,隨便粘到一個屬性值里按生成,比如粘到class里,再把Xpath里的class改成href就可以了

      例:

      href=后面雙引號內(nèi)部的參數(shù)復(fù)制出來,隨便粘到一個屬性值里按生成,這時(shí)按匹配一般是什么也匹配不到的

      然后要把class改成href就可以了匹配到了

      可以把這串代碼復(fù)制到火狐里驗(yàn)證一下,結(jié)果是一樣的


      元素文本:是火狐里的所有黑色字體,一般是會在網(wǎng)頁顯示出來我們可以直接看到的字體

      如果要填這一格,填的必須是全部的文本,少一個空格標(biāo)點(diǎn)符號,全角半角不一致都會導(dǎo)致定位不到,不過要是是純文字的那就沒問題

      元素文本包含字符串:包含,顧名思義就是只要文本里有就會定位出來,不用管什么標(biāo)點(diǎn)符號空格

      元素文本開始字符串:就是前幾個字,如果源碼里是以什么空格標(biāo)點(diǎn)符號之類的開頭的,如果這里沒寫,就定位不到


      父元素,子元素,這兩個是對應(yīng)的,

      前面元素,后面元素也是對應(yīng)的。

      這里是看層級關(guān)系,火狐里看很清楚,避免混亂,我只截取一層關(guān)系

      上圖為例diva的父元素,adiv的子元素

      前面元素和后面元素說的是同級里的多個元素之間的關(guān)系

      比如上圖的中間那個span為主,它的前面元素就是a,它的后面元素是span


      這幾個按鈕的主要功能是用于想要的數(shù)據(jù)沒有可定位的參數(shù),或者有參數(shù)但是不可用的時(shí)候,要用先定位到要的數(shù)據(jù)附近,再看是前后關(guān)系,還是父子關(guān)系,定位到想要的數(shù)據(jù)


      定位的路有很多條,這條走不通就換一條,大多數(shù)都可以的


      好了,界面基礎(chǔ)知識就講完了

      我們來看實(shí)例吧。


      實(shí)例一:

      http://data.eastmoney.com/bbsj/201506/yjyg.html

      翻頁死循環(huán)

      一般八爪魚自動生成的Xpath是定位文本,就是下面這張圖,前面翻頁都正常

      但是它到最后一頁時(shí)依然可以定位到下一頁

      八爪魚就會一直點(diǎn)一直采,死循環(huán)了

      現(xiàn)在要觀察網(wǎng)頁源碼

      39頁的下一頁與40頁的下一頁代碼有什么不同

      可以發(fā)現(xiàn),最后一頁的時(shí)候比前一頁,多了class屬性和少了title屬性,這樣看最簡單的就有兩條路可以走,用class或者用title都可以。


      先復(fù)制八爪魚里自動生成的下一頁代碼,但是如果八爪魚生成不是文本定位的就要自己生成一下

      定位到下一頁了

      再加class,最后一頁才有class,前面沒有,那我的Xpath就是不存在class的下一頁,不存在不會寫,那就換title吖,就是存在title的下一頁,這個簡單

      隨便點(diǎn)一個屬性值,因?yàn)槲覀冎灰?/font>title就行了,不用限定屬性值,屬性值為空,點(diǎn)生成,就是上圖,

      class改成title=''和中間的*號都去掉,匹配一下,先看39頁可以匹配到

      然后翻到40頁,最后一頁

      匹配不到,就對了,在最后一頁不能讓它定位到下一頁,定位到了八爪魚就會一直翻,這條Xpath替換掉循環(huán)翻頁的Xpath就可以了



      實(shí)例二:

      http://data./p2p/index.html

      沒有下一頁,但是當(dāng)前頁有標(biāo)識,每次定位到當(dāng)前頁的下一頁即可正常翻頁

      首先觀察網(wǎng)頁及源碼,網(wǎng)頁可以看到當(dāng)前頁碼是標(biāo)綠的,一般來說要顯示綠色就要在源碼里寫特定的參數(shù)

      我們看源碼就可以看到,當(dāng)前頁liclass參數(shù)的屬性值是active,其他頁的liclass參數(shù)的屬性值是空的,我們就可以用active為標(biāo)識先定位到當(dāng)前頁,再定位當(dāng)前頁的后一個頁碼,放到翻頁點(diǎn)擊元素里就會每次點(diǎn)擊當(dāng)前頁的后一頁,實(shí)現(xiàn)翻頁。

      Xpath工具里把知道的參數(shù)都填進(jìn)去,定位到當(dāng)前頁碼,

      點(diǎn)后面元素

      定義后面第一個li

      再向下定位到li內(nèi)的第一個a


      因?yàn)?/font>ali的子元素,所以需要用/隔開

      一般的網(wǎng)站可能寫到這里就可以了
      但是這個網(wǎng)站還可以匹配到3個元素,如果要的數(shù)據(jù)是第一個也沒問題,但是實(shí)際上這個Xpath在這個網(wǎng)站正確的元素應(yīng)該是第三個,所以還需要進(jìn)一步定位

      一種方法是找不同定位條件,增加定位條件

      一種方法是先縮小定位范圍,在頁碼范圍內(nèi)找我們剛才寫的Xpath

      當(dāng)然還有很多方法,條條大路通羅馬,根據(jù)你日漸對Xpath的熟悉還會有更多的方法

      這里就不一一列舉了

      找不同定位條件,增加定位條件:其實(shí)這方法就是跟實(shí)例二一樣,結(jié)合起來就可以了

      我們來看一下“先縮小定位范圍,在頁碼范圍內(nèi)找我們剛才寫的Xpath”這個辦法這個方法很簡單,在火狐里就可以完成了

      先生成一個頁碼范圍內(nèi)的Xpath

      從后到前一層一層的刪掉,就可以擴(kuò)大選擇范圍,下圖就是已經(jīng)擴(kuò)大到我們需要的包含全部的頁碼范圍了

      再把剛剛在Xpath工具里生成的Xpath接到后面去,就只定位到一個元素了,自己做好可以多翻幾頁看看是不是定位到當(dāng)前頁的后面一個頁碼,沒問題就可以把這條Xpath粘到八爪魚里了。




      以上,以后有適合的實(shí)例再增加,謝謝!

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多