Nabaye mumajyambere-imbere cyane bihagije kugirango mbone icyerekezo mumyaka: abaterankunga bato bakorana na paradigmme nshya yo gutangiza gahunda batumva amateka yarwo. Birumvikana ko byumvikana neza kutamenya ikintu. Urubuga ni ahantu hanini cyane hamwe nubuhanga butandukanye hamwe nubuhanga, kandi ntabwo buri gihe tuzi ibyo tutazi. Kwiga muriki gice ni urugendo rukomeza aho kuba ikintu kibaho rimwe kirangiye. Ikiburanwa: Umuntu wo mu itsinda ryanjye yabajije niba bishoboka kumenya niba abakoresha bagenda kure ya tab runaka muri UI. Nerekanye ibyabaye mbere yo gukuramo JavaScript. Ariko abakemuye ibi mbere bamenye ko bishoboka kuko bakubiswe nibimenyesha amakuru atabitswe kurundi rubuga, kuberako mbere yo gupakurura ari ikibazo gisanzwe cyo gukoresha. Nerekanye kandi pageHisha no kugaragara Hindura ibyabaye kuri mugenzi wanjye kubipimo byiza. Nabimenye nte? Kuberako byaje mu kindi gikorwa, sibyo kuko nabyize igihe nabanje kwiga JavaScript. Ikigaragara ni uko ibigezweho bigezweho-bihagaze ku bitugu by'ibihangange by'ikoranabuhanga byababanjirije. Bakuramo ibikorwa byiterambere, akenshi kuburambe bwiza bwabateza imbere bigabanya, cyangwa bikuraho, gukenera kumenya cyangwa gukoraho ibyari bisanzwe byingenzi byingenzi imbere-buri wese agomba kumenya. Reba icyitegererezo cya CSS (CSSOM). Urashobora kwitega ko umuntu wese ukora muri CSS na JavaScript afite uburambe bwamaboko ya CSSOM, ariko ntabwo burigihe bizagenda. Hariho umushinga wa Reaction kurubuga rwa e-ubucuruzi nakoraga aho dukeneye gupakira urupapuro rwabashinzwe gutanga ubwishyu bwatoranijwe. Ikibazo nuko urupapuro rwerekana imiterere kuri page yose mugihe byari bikenewe rwose kurupapuro runaka. Iterambere ryashinzwe gukora ibi bibaho ntabwo yari yarigeze apakira urupapuro rwimikorere. Na none, ibi birumvikana rwose mugihe Reaction ikuraho inzira gakondo ushobora kuba wagezeho. CSSOM birashoboka ko atari ikintu ukeneye mumirimo yawe ya buri munsi. Ariko birashoboka ko uzakenera gukorana nayo mugihe runaka, ndetse no murugero rumwe. Inararibonye zanteye kwandika iyi ngingo. Hano haribintu byinshi bihari byurubuga hamwe nikoranabuhanga mwishyamba udashobora na rimwe gukoraho mubikorwa byawe bya buri munsi. Birashoboka ko uri mushya rwose mugutezimbere urubuga kandi ntubimenye gusa kuko winjiye mugukuramo urwego rwihariye rutagusaba kubimenya byimbitse, cyangwa na gato. Ndavuga byumwihariko kuri XML, benshi muritwe tuzi ni ururimi rwa kera rutandukanye rwose na HTML. Ndabizanye kuberako ibiganiro bya WHATWG biherutse kwerekana ko igice kinini cyumurongo wa XML kizwi nka XSLT programming kigomba gukurwa kuri mushakisha. Ubu ni bwo buryo bwa kera, tekinoroji iriho tumaze imyaka myinshi ishobora gukoreshwa kubintu bifatika nkibihe bya CSSOM ikipe yanjye yarimo. Wigeze ukorana na XSLT mbere? Reka turebe niba twishingikiriza cyane kuri tekinoroji ishaje kandi tugakoresha ibiranga hanze ya XML kugirango dukemure ibibazo nyabyo byisi muri iki gihe. XPath: Hagati ya API Ikoranabuhanga ryingenzi rya XML rishobora kuba aringirakamaro cyane hanze ya XML igororotse ni XPath, ururimi rwibibazo rugufasha kubona urwego urwo arirwo rwose cyangwa ikiranga mu kimenyetso cyerekana igiti kimwe. Mfite urukundo rwihariye kuri XSLT, ariko ibyo nabyo bishingiye kuri XPath, kandi urukundo rwumuntu rugomba gushyirwa kumurongo mubyingenzi. Impaka zo gukuraho XSLT ntacyo ivuga kuri XPath, ndakeka rero ko byemewe. Nibyiza kuko XPath niyingenzi kandi yingenzi API muriyi suite yikoranabuhanga, cyane cyane mugihe ugerageza gushaka ikintu wakoresha hanze ya XML isanzwe ikoreshwa. Ni ngombwa kuko, mugihe abatoranya CSS bashobora gukoreshwa mugushakisha ibintu byinshi kurupapuro rwawe, ntibashobora kubibona byose. Byongeye kandi, abatoranya CSS ntibashobora gukoreshwa mugushakisha ikintu ukurikije umwanya uriho muri DOM. XPath irashobora. Noneho, bamwe murimwe musoma ibi bashobora kumenya XPath, nabandi ntibabimenye. XPath nigice kinini cyikoranabuhanga, kandi sinshobora rwose kwigisha ibyibanze byose kandi nkakwereka ibintu byiza byo kubikora hamwe ningingo imwe nkiyi. Nagerageje mubyukuri kwandika iyo ngingo, ariko impuzandengo ya Smashing Magazine yatangajwe ntabwo irenga amagambo 5.000. Nari maze kurenzaAmagambo 2000 mugihe kimwe cya kabiri gusa cyibanze. Noneho, ngiye gutangira gukora ibintu byiza hamwe na XPath nkaguha amahuza ushobora gukoresha kubanze niba ubona ibi bintu bishimishije. Guhuza XPath & CSS XPath irashobora gukora ibintu byinshi abatoranya CSS badashobora mugihe babajije ibintu. Ariko abatoranya CSS barashobora kandi gukora ibintu bike XPath idashobora, aribyo, ibibazo byibibazo mwizina ryishuri.

CSS XPath .Class / * [ikubiyemo (@cyiciro, "myClass")]

Muriyi ngero, CSS ibaza ibintu birimo .myClass classname. Hagati aho, XPath urugero ibaza ibintu birimo ikiranga icyiciro hamwe numurongo "myClass". Muyandi magambo, ihitamo ibintu hamwe na myClass mubiranga byose, harimo ibice bifite izina ryanjye .cyiciro - kimwe nibintu bifite "myClass" mumurongo, nka .myClass2. XPath ni ngari muri ubwo buryo. Oya. Ntabwo nshaka kuvuga ko dukwiye guta CSS tugatangira guhitamo ibintu byose dukoresheje XPath. Ntabwo aribyo. Ingingo ni uko XPath ishobora gukora ibintu CSS idashobora kandi ishobora kuba ingirakamaro cyane, nubwo ari tekinoroji ishaje murwego rwa mushakisha kandi ntishobora kugaragara neza ukireba. Reka dukoreshe tekinoroji ebyiri atari ukubera ko tubishoboye, ariko kubera ko hari icyo tuziga kuri XPath mugikorwa, tukayigira ikindi gikoresho mumurongo wawe - imwe ushobora kuba utari uzi ko ihari hose! Ikibazo nuko inyandiko ya JavaScript.isuzuma uburyo nuburyo butandukanye bwo gutoranya ibibazo dukoresha hamwe na CSS APIs ya JavaScript ntaho bihuriye. Nakoze ikibazo kijyanye no kubaza API kugirango dutangire, nubwo byemewe, ntabwo nabishyizemo ibitekerezo byinshi kuva ari ukuva mubyo dukora hano. Dore urugero rworoshye rwakazi rwakazi rusubirwamo rwubaka: Reba Ikaramu IkibazoXPath [forked] na Bryan Rasmussen. Nongeyeho uburyo bubiri kubintu byinyandiko: kubazaCSSSelectors (nibibazo byingenziSelectorAll) nibibazoXPaths. Byombi bisubiza ikibazoIbisubizo:

{ Ikibazo Ubwoko: imitwe | umugozi | umubare | boolean, ibisubizo: icyaricyo cyose [] // html, ibice bya xml, imirongo, imibare, booleans, IkibazoCSS Abatoranya: (ikibazo: umugozi, guhindura: boolean) => ikibazoIbisubizo, IkibazoX Inzira: (ikibazo: umugozi, guhindura: boolean) => ikibazo Ibisubizo }

IkibazoCSSSelectors na queryXpaths imikorere ikora ikibazo ubaha hejuru yibisubizo mubisubizo array, mugihe cyose ibisubizo array ari ubwoko bwumutwe, birumvikana. Bitabaye ibyo, izasubiza ikibazoIbisubizo hamwe nubusa bwubusa nubwoko bwa node. Niba imitungo ihinduwe yashyizwe mubyukuri, imikorere izahindura ikibazo cyabo Ibisubizo. Ntakibazo na kimwe gikwiye gukoreshwa mubidukikije. Ndimo kubikora murubu buryo bwo kwerekana ingaruka zitandukanye zo gukoresha ibibazo bibiri APIs hamwe. Urugero Ndashaka kwerekana ingero nkeya kubibazo bitandukanye bya XPath byerekana bimwe mubintu bikomeye bashobora gukora nuburyo byakoreshwa muburyo bwubundi buryo. Urugero rwa mbere ni // li / inyandiko (). Ibi bibaza ibintu byose li kandi bigasubiza inyandiko zabo. Noneho, niba dushaka kubaza HTML ikurikira:

  • imwe
  • bibiri
  • bitatu

… Iki nicyo gisubizwa:

. "Ikibazo Ubwoko": "xpathEvaluate", "ibisubizo":

Muyandi magambo, tubona umurongo ukurikira: ["umwe", "babiri", "batatu"]. Mubisanzwe, wakwibaza kubintu bya li kugirango ubone ibyo, hindura ibisubizo byikibazo mubisobanuro, ushushanye umurongo, hanyuma usubize inyandiko yumutwe wa buri kintu. Ariko turashobora kubikora neza muri XPath: inyandiko.ibibazoX Inzira ("// li / inyandiko ()"). ibisubizo.

Menya ko inzira yo kubona inyandiko node ari ugukoresha inyandiko (), isa nkumukono wimikorere - kandi ni. Irasubiza inyandiko node yikintu. Murugero rwacu, hari ibintu bitatu bya li mubiranga, buri kimwe kirimo inyandiko ("umwe", "bibiri", na "bitatu"). Reka turebe urundi rugero rwikibazo () ikibazo. Dufate ko aricyo kimenyetso cyacu: Injira

Reka twandike ikibazo gisubiza href ikiranga agaciro: inyandiko.ibibazoX Inzira ("// a [inyandiko () = 'Injira'] / @ href"). ibisubizo.

Iki nikibazo cya XPath kurinyandiko iriho, nkurugero rwanyuma, ariko iki gihe turagarura href ikiranga ihuza (element) ikubiyemo inyandiko "Injira". Byagarutse nyirizinaibisubizo ni ["/login.html"]. Ibikorwa bya XPath Hano hari umubare wimikorere ya XPath, kandi birashoboka ko utamenyereye nabo. Hariho byinshi, ntekereza ko bikwiye kumenya, harimo ibi bikurikira:

itangira-hamweNiba inyandiko itangiranye nizindi nyandiko yinyandiko, itangira-hamwe (@href, 'http:') igaruka kweri niba ikiranga href gitangirana na http:. ikubiyemo Niba inyandiko ikubiyemo izindi ngero zinyandiko zihariye, zirimo (inyandiko (), "Ikinyamakuru Smashing Magazine") gisubiza ukuri niba inyandiko yanditswemo irimo amagambo "Smashing Magazine" aho ariho hose. kubaraGusubiza kubara umubare wimikino ihari kubibazo. Kurugero, ubare (// * substringImirimo nka JavaScript substring, usibye ko utambutsa umurongo nkimpaka. Kurugero, substring ("inyandiko yanjye", 2, 4) isubiza "y t". substring-mbereGusubiza igice cyumugozi mbere yundi mugozi. Kurugero, gusimbuza-mbere ("inyandiko yanjye", "") bigaruka "my". Muri ubwo buryo, substring-mbere ("hi", "bye") isubiza umugozi wubusa. substring-nyumaGusubiza igice cyumugozi nyuma yundi mugozi. Kurugero, gusimbuza-nyuma ("inyandiko yanjye", "") bigaruka "inyandiko". Muri ubwo buryo, substring-nyuma ("hi", "bye") isubiza umugozi wubusa. Ibisanzwe-Umwanya Kugarura umurongo wimpaka hamwe numwanya wera usanzwe mukwambura icyerekezo no gukurikira umwanya wera no gusimbuza urutonde rwinyuguti zera kumwanya umwe. ntabwoGusubiza ukuri kwa boolean niba impaka ari ibinyoma, ubundi ni ibinyoma. Ukuri Kugarura boolean kweri. Kubeshya Kugarura boolean ibinyoma. concatIkintu kimwe na JavaScript concat, usibye ko utayikoresha nkuburyo kumurongo. Ahubwo, ushyiramo imirongo yose ushaka guhuza. umugozi-uburebureIbi ntabwo bisa na JavaScript umugozi-muremure, ahubwo usubiza uburebure bwumugozi watanzwe nkimpaka. guhinduranyaIyi ifata umurongo uhindura ingingo ya kabiri kuri argument ya gatatu. Kurugero, hindura ("abcdef", "abc", "XYZ") ibisubizo XYZdef.

Usibye iyi mikorere yihariye ya XPath, hari nibindi bikorwa byinshi bikora kimwe na JavaScript bagenzi babo - cyangwa bagenzi babo mururimi urwo arirwo rwose - ushobora no kubona ko ari ingirakamaro, nko hasi, igisenge, kuzenguruka, igiteranyo, nibindi. Demo ikurikira irerekana buri kimwe muribi bikorwa: Reba Ikaramu XPath Imibare Imibare [forked] na Bryan Rasmussen. Menya ko, nkibikorwa byinshi byimikorere ya manipulation imikorere, ibyinshi mubibare bifata icyinjijwe kimwe. Nibyo, byanze bikunze, kuberako bagomba gukoreshwa mubibazo, nko murugero rwanyuma rwa XPath: // li [hasi (inyandiko ())> 250] / @ val

Niba ubikoresha, nkuko ingero nyinshi zibikora, uzarangiza ukayikoresha kuri node yambere ihuye n'inzira. Hariho kandi ubwoko bumwebumwe bwo guhindura imikorere ugomba kwirinda kuko JavaScript isanzwe ifite ibibazo byayo byo guhindura. Ariko harashobora kubaho igihe ushaka guhindura umurongo kumubare kugirango ubigenzure ukoresheje indi mibare. Imikorere ishyiraho ubwoko bwikintu ni boolean, umubare, umugozi, na node. Izi namakuru yingenzi ya XPath. Kandi nkuko ushobora kubyiyumvisha, ibyinshi muribi bikorwa birashobora gukoreshwa kuri datatypes itari DOM node. Kurugero, substring-nyuma ifata umugozi nkuko tumaze kubitwikira, ariko birashobora kuba umugozi kuva href ikiranga. Irashobora kandi kuba umurongo:

const testSubstringAfter = inyandiko.queryXPaths ("substring-nyuma ('uraho isi', '')");

Biragaragara, uru rugero ruzadusubiza inyuma ibisubizo umurongo nka ["isi"]. Kugirango ubyerekane mubikorwa, nakoze page ya demo nkoresheje imikorere irwanya ibintu bitari DOM node: Reba Ikaramu IkibazoXPath [forked] na Bryan Rasmussen. Ugomba kumenya ibintu bitangaje byimikorere yo guhindura, aribyo ko niba ufite inyuguti mubitekerezo bya kabiri (nukuvuga, urutonde rwinyuguti ushaka guhindurwa) kandi ntamiterere ihuye kugirango uhindure, iyo nyuguti ikurwa mubisohoka. Rero, ibi:

guhindura ('Mwaramutse, Nitwa Inigo Montoya, wishe data, witegure gupfa', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,', '*')

Ibisubizo mumurongo, harimo umwanya: ["* * **"]

Ibi bivuze ko inyuguti “a” isobanurwa mu nyenyeri (*), ariko izindi nyuguti zose zidafite ubusobanuro zahawe umurongo wintego zavanyweho burundu. Umwanya wera nibyo dusigaranyehagati yinyuguti zahinduwe "a". Hanyuma na none, iki kibazo:

guhindura ('Mwaramutse, Nitwa Inigo Montoya, wishe data, witegure gupfa', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,', '******************************************************************************

… Ntakibazo afite kandi gisohora ibisubizo bisa nkibi:

"***** ** **** ** ***** ******* *** ****** ** ****** ******* ** ***"

Irashobora kugukubita ko nta nzira yoroshye muri JavaScript yo gukora neza ibyo imikorere ya XPath yo guhindura ikora, nubwo kubantu benshi bakoresha imanza, gusimbuza Byose hamwe nibisanzwe bishobora kugikora. Urashobora gukoresha inzira imwe nerekanye, ariko ibyo ni suboptimal niba ibyo ushaka byose ari uguhindura imirongo. Demo ikurikira irangiza ibikorwa bya XPath yo guhindura kugirango itange verisiyo ya JavaScript: Reba Ikaramu yo guhindura Ikaramu [forked] na Bryan Rasmussen. Ni he ushobora gukoresha ikintu nkiki? Reba ibanga rya Caesar Cipher hamwe na offset ahantu hatatu (urugero, hejuru-yumurongo wibanga kuva 48 mbere ya Yesu):

guhindura ("Sezari arateganya kwambuka Rubicon!", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", "XYZABCDEFGHIJKLMNOPQRSTUVWxyzabcdefghijklmnopqrstuvw")

Inyandiko yinjira "Sezari arateganya kwambuka Rubicon!" ibisubizo muri "Zxbpxo fp mixkkfkd ql zolpp qeb Oryfzlk!" Gutanga urundi rugero rwihuse rwibishoboka bitandukanye, nakoze icyuma imikorere ifata umurongo winjiza kandi ikoresha imikorere yo guhindura kugirango isubize inyandiko, harimo inyuguti zose zifata umlauts. Reba Ikaramu yicyuma [forked] na Bryan Rasmussen.

icyuma = (str) => { garuka gusobanura (str, "AOUaou", "ÄÖÜäöü"); }

Kandi, iyo uhaye inyandiko "Amategeko ya Motley Crue, urutare kuri dude!", Agaruka "Mötley Crüe rüles, röck ön düdes!" Biragaragara, umuntu arashobora kugira ubwoko bwose bwa parody ikoresha iyi mikorere. Niba ariwowe, noneho iyi TVTropes ingingo igomba kuguha imbaraga nyinshi. Gukoresha CSS Hamwe na XPath Wibuke impamvu nyamukuru yo gukoresha abatoranya CSS hamwe na XPath: CSS yunvikana neza icyiciro icyo aricyo, mugihe ibyiza ushobora gukora hamwe na XPath ni kugereranya kugereranya kurwego rwicyiciro. Ibyo bizakora muri byinshi. Ariko niba ugomba guhura nikibazo aho, vuga, umuntu yashizeho amasomo yitwa .primaryLinks na .primaryLinks2 kandi wakoreshaga XPath kugirango ubone icyiciro cya .primaryLinks, noneho ushobora guhura nibibazo. Igihe cyose ntakintu cyubusa nkicyo, birashoboka ko wakoresha XPath. Ariko mbabajwe no kumenyesha ko nakoreye ahantu abantu bakora ubwo bwoko bwibintu byubusa. Dore indi demo ukoresheje CSS na XPath hamwe. Irerekana uko bigenda iyo dukoresheje code kugirango dukore XPath kumurongo wa contexte ntabwo ari inyandiko. Reba Ikaramu css na xpath hamwe [forked] na Bryan Rasmussen. Ikibazo cya CSS ni .ibisobanuro a, bizana ibice bibiri muri div yahawe icyiciro .fitanye isano. Nyuma yibyo nibibazo bitatu "bibi", nukuvuga, ibibazo bidakora ibyo dushaka ko bakora mugihe biruka hamwe nibintu nkibisobanuro. Ndashobora gusobanura impamvu bitwara ukundi nkuko ubitekereza. Ibibazo bitatu bibi bivugwa ni:

// inyandiko (): Subiza inyandiko zose ziri mu nyandiko. // a / inyandiko (): Subiza inyandiko zose imbere yibihuza mu nyandiko. ./a/text (): Garuka nta bisubizo.

Impamvu yibi bisubizo nuko mugihe imiterere yawe ari ibintu byagarutse kubibazo bya CSS, // bihabanye ninyandiko zose. Izi nimbaraga za XPath; CSS ntishobora kuva kumurongo kugeza kuri sekuruza hanyuma ikajya murumuna wa basekuruza, hanyuma ikamanuka ikomoka kumukomokaho. Ariko XPath irashobora. Hagati aho.. Ariko nta mwana ikintu cyatoranijwe nikibazo cya CSS, ubwo rero ikibazo nacyo ntacyo gisubiza. Hano haribibazo bitatu byiza muri iyo demo yanyuma:

.// inyandiko (), ./text (), bisanzwe-umwanya (./ inyandiko ()).

Ikibazo gisanzwe-umwanya wibibazo byerekana imikorere ya XPath, ariko kandi ikemura ikibazo gikubiye mubindi bibazo. HTML yubatswe gutya:

Gutangiza Ikiranga Ikizamini Na Selenium WebDriver

Ikibazo gisubiza umurongo kugaburira intangiriro nimpera yinyandiko node,na bisanzwe-umwanya ukuraho ibi. Gukoresha imikorere yose ya XPath isubiza ikindi kitari boolean hamwe ninjiza XPath ikoreshwa mubindi bikorwa. Demo ikurikira irerekana ingero nyinshi: Reba Ikaramu xpath imikorere ingero [forked] na Bryan Rasmussen. Urugero rwa mbere rwerekana ikibazo ugomba kwitondera. By'umwihariko, code ikurikira:

inyandiko.queryXPaths ("substring-nyuma (// a / @ href, 'https: //')");

… Asubiza umurongo umwe:

"www.smashingmagazine.com/2018/04/imiterere-yipimisha-selenium-webdriver/"

Birumvikana, sibyo? Iyi mikorere ntabwo isubiza umurongo ahubwo ni imirongo imwe cyangwa imibare imwe. Gukoresha imikorere ahantu hose hamwe nibisubizo byinshi bisubiza gusa igisubizo cyambere. Igisubizo cya kabiri cyerekana icyo dushaka mubyukuri:

inyandiko.

Igaruka umurongo wimirongo ibiri:

["www.

Imikorere ya XPath irashobora guterwa nkibikorwa muri JavaScript. Noneho, niba tuzi imiterere ya URL ya Smashing Magazine, dushobora gukora ibi bikurikira (dukoresheje inyandikorugero isanzwe): `guhindura ( substring ( substring-nyuma (./@ href, 'www.smashingmagazine.com/') , 9), '/', '') `

Ibi biragenda bigorana cyane kuburyo bikeneye ibitekerezo bisobanura ibyo ikora: fata URL yose uhereye kuri href ya nyuma ya www.smashingmagazine.com/, ukureho inyuguti icyenda za mbere, hanyuma uhindure inyuguti zerekeza imbere (/) kubusa kugirango ukureho kurangira imbere. Ibisubizo byatanzwe:

] "

Byinshi XPath Koresha Imanza XPath irashobora kumurika mugupima. Impamvu ntabwo igoye kubona, kuko XPath irashobora gukoreshwa kugirango ubone ibintu byose muri DOM, uhereye kumwanya uwo ariwo wose muri DOM, mugihe CSS idashobora. Ntushobora kubara ibyiciro bya CSS bisigaye bihoraho muri sisitemu nyinshi zubaka zubaka, ariko hamwe na XPath, turashoboye gukora byinshi bihuye nkibiri mubyanditswe bigize ikintu, tutitaye kumiterere ya DOM ihinduka. Habayeho ubushakashatsi kuri tekinike igufasha gukora ibizamini bya XPath. Ntakintu kibi nko kugira ibizamini bisohoka bikananirana kubera ko uwatoranije CSS atagikora kuko hari ikintu cyahinduwe cyangwa cyakuweho. XPath nayo irakomeye mubyukuri gukuramo byinshi. Hariho inzira zirenze imwe zo gukoresha ibibazo bya XPath kugirango uhuze ikintu. Ni nako bimeze kuri CSS. Ariko ibibazo bya XPath birashobora gutobora mubintu muburyo bugamije kugabanya ibyagarutsweho, bikagufasha kubona umukino wihariye aho hashobora kuba imikino myinshi ishoboka. Kurugero, turashobora gukoresha XPath kugirango dusubize ikintu cyihariye h2 gikubiye imbere muri div ihita ikurikira umuvandimwe div, nayo, ikubiyemo ikintu cyerekana ishusho yumwana hamwe na data-testID = "umuyobozi" ikiranga kuri:

ntubone uyu mutwe

Ntukabone kandi uyu mutwe

Umutwe w'ishusho y'abayobozi

Iki nikibazo: inyandiko.ibibazoX Inzira (` // div [ gukurikira-bavukana :: div [1] / img [@ data-testID = 'umuyobozi'] ] / h2 / inyandiko () `);

Reka tumanuke muri demo kugirango turebe uko ibyo byose bihurira: Reba Ikaramu Ikaramu H2 Ikibazo [cyashizweho] na Bryan Rasmussen. Yego. Hariho inzira nyinshi zishoboka kubintu byose mugupimisha ukoresheje XPath. XSLT 1.0 Gutesha agaciro Nabivuze kare ko itsinda rya Chrome riteganya gukuraho inkunga ya XSLT 1.0 muri mushakisha. Ibyo ni ngombwa kuko XSLT 1.0 ikoresha porogaramu XML yibanze kuri gahunda yo guhindura inyandiko, nayo, ishingiye kuri XPath 1.0, nicyo kiboneka muri mushakisha nyinshi. Iyo ibyo bibaye, tuzabura igice cyingenzi cya XPath. Ariko nkurikije ko XPath ari nziza rwose mukwandika ibizamini, ndabona bidashoboka ko XPath muri rusange izimira vuba. Ibyo byavuzwe, Nabonye ko abantu bashimishwa nimiterere iyo ikuweho. Kandi ibyo rwose ni ukuri mugihe XSLT 1.0 iteshwa agaciro. Hano haribiganiro byose bibera kuri Hacker News yuzuyemo impaka zirwanya guta agaciro. Inyandiko ubwayo ni urugero rwiza rwo gushiraho urubuga rwa blog hamwe na XSLT. WoweUrashobora gusoma ikiganiro wenyine, ariko cyinjira muburyo JavaScript ishobora gukoreshwa nka shim ya XLST kugirango ikemure ibibazo nkibi. Nabonye kandi ibyifuzo ko mushakisha igomba gukoresha SaxonJS, nicyambu cya Saxon XSLT ya JavaScript, XQUERY, na XPath. Icyo ni igitekerezo gishimishije, cyane cyane ko Saxon-JS ishyira mubikorwa verisiyo yubu yibi bisobanuro, mugihe nta mushakisha ushyira mubikorwa verisiyo iyo ari yo yose ya XPath cyangwa XSLT irenze 1.0, kandi ntanumwe ushyira mubikorwa XQuery. Nageze kuri Norm Tovey-Walsh ahitwa Saxonica, isosiyete iri inyuma ya SaxonJS hamwe nizindi verisiyo za moteri ya Saxon. Yavuze ati: "Niba umucuruzi wese wa mushakisha yashishikajwe no gufata SaxonJS nk'intangiriro yo kwinjiza tekinoroji ya XML igezweho muri mushakisha, twashimishijwe no kubiganiraho nabo." - Norm Tovey-Walsh

Ariko nanone yongeyeho: Ati: "Njye natungurwa cyane niba hari uwatekereje ko gufata SaxonJS muburyo bwubu no kuyijugunya muri mushakisha kubaka bidahindutse byaba inzira nziza. Umucuruzi wa mushakisha, bitewe nuko bubaka mushakisha, ashobora kwegera kwishyira hamwe kurwego rwimbitse kuruta uko dushobora 'kuva hanze'." - Norm Tovey-Walsh

Birakwiye ko tumenya ko ibitekerezo bya Tovey-Walsh byaje nyuma yicyumweru kimwe mbere yuko itangazwa rya XSLT ritesha agaciro. Umwanzuro Nashoboraga gukomeza. Ariko nizere ko ibi byagaragaje imbaraga za XPath kandi biguha ingero nyinshi zerekana uburyo wabikoresha kugirango ugere kubintu bikomeye. Nurugero rwiza rwikoranabuhanga rya kera murwego rwa mushakisha rugifite akamaro kanini muri iki gihe, nubwo utigeze umenya ko rubaho cyangwa utigeze utekereza kubigeraho. Ibindi Gusoma

"Kongera imbaraga mu bizamini byifashishwa mu gukoresha Ururimi Kamere" (ACM Digital Library) by Maroun Ayli, Youssef Bakouny, Nader Jalloul, na Rima KilanyIyi ngingo itanga ingero nyinshi za XPath zo kwandika ibizamini bidasubirwaho. XPath (MDN) Aha ni ahantu heza ho gutangirira niba ushaka ibisobanuro bya tekiniki birambuye uko XPath ikora. XPath Tutorial (ZVON) Nasanze iyi nyigisho ari yo ifasha cyane mu myigire yanjye bwite, mbikesha ingero nyinshi n'ibisobanuro bisobanutse. XPatherIki gikoresho cyimikorere igufasha gukorana neza na kode.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free