Kua roa ahau ki te whakawhanaketanga o mua ki te kite i te ahuatanga i roto i nga tau: ko nga kaiwhakawhanake rangatahi e mahi ana me tetahi tauira hou o te kaupapa me te kore e mohio ki te horopaki o mua. Ko te tikanga, he tino marama ki te kore e mohio ki tetahi mea. He waahi tino nui te paetukutuku me te maha o nga pukenga me nga tohungatanga, a kaore matou e mohio ki nga mea kaore matou e mohio. Ko te ako i tenei mara he haerenga haere tonu, kaua ko tetahi mea ka tupu kotahi ka mutu. Te take: I patai tetahi o taku roopu mena ka taea te korero mena ka neke atu nga kaiwhakamahi mai i tetahi ripa o te UI. I tohu ahau i te kaupapa a JavaScript i mua i te tangohanga. Engari ko te hunga kua pa ki tenei i mua e mohio ana ka taea tenei na te mea kua whiua ratou e nga matohi mo nga raraunga kaore i tiakina i runga i etahi atu waahi, ko te mea i mua i te unload he keehi whakamahi angamaheni. I tohu ano ahau i te pageHide and visibilityChange takahanga ki taku hoa mahi mo te pai. I pehea ahau i mohio ai mo tena? Na te mea i puta mai i roto i tetahi atu kaupapa, ehara i te mea i ako ahau ki runga i tera i te wa e ako ana ahau i te JavaScript. Ko te mea ko nga anga o mua-mutunga hou e tu ana i runga i nga pakihiwi o nga tangata nunui o te hangarau i mua ia ratou. Ka tangohia e ratou nga mahi whakawhanaketanga, he maha nga wa mo te wheako kaiwhakawhanake pai ake ka whakaiti, ka whakakore ranei i te hiahia ki te mohio, ki te pa atu ranei ki nga mea o mua ko nga ariā o mua e tika ana kia mohio te katoa. Whakaarohia te tauira Ahanoa CSS (CSSOM). Ka whakaaro pea koe ko tetahi e mahi ana i roto i te CSS me te JavaScript he paihere o nga wheako CSSOM-a-ringa, engari ehara i te mea ka pera tonu. He kaupapa React mo te pae-e-tauhokohoko i mahihia e au ki te utaina he pepa ahua mo te kaiwhakarato utu kua tohua inaianei. Ko te raru ko te pepa ahua kei te utaina ki ia wharangi i te wa e tino hiahiatia ana i runga i tetahi wharangi motuhake. Ko te kaiwhakawhanake i mahi ki te mahi i tenei mea kaore ano kia utaina he pepa ahua hihiri. Ano, ka tino marama tenei ina tangohia e React te huarahi tuku iho kua taea e koe. Ko te CSSOM kaore pea he mea e hiahiatia ana e koe i roto i to mahi o ia ra. Engari tera pea ka hiahia koe ki te taunekeneke ki a ia i etahi wa, ahakoa i te wa kotahi. Na enei wheako i akiaki ahau ki te tuhi i tenei tuhinga. He maha nga ahuatanga tukutuku me nga hangarau kei roto i te mohoao e kore pea koe e pa tika ki o mahi o ia ra. Akene he tauhou koe ki te whakawhanaketanga paetukutuku me te kore e mohio ki a raatau na te mea kua uru koe ki te tangohanga o tetahi anga motuhake kaore koe e hiahia kia tino mohio koe, ahakoa he aha. Kei te korero motuhake ahau mo te XML, e mohio ana te nuinga o tatou he reo tawhito kaore i tino rereke mai i te HTML. Kei te kawe ake ahau i tenei na te mea o nga korerorero a WHATWG o tata nei e kii ana me tango tetahi waahanga nui o te puranga XML e kiia nei ko te kaupapa XSLT mai i nga kaitirotiro. Koinei tonu te ahua o te hangarau tawhito, o naianei kua roa i a matou mo nga tau ka taea te whakamahi mo tetahi mea e rite ana ki te ahuatanga CSSOM kei roto taku roopu. Kua mahi koe me XSLT i mua? Kia kite tatou mena ka kaha taatau ki tenei hangarau tawhito me te whakamahi i ona ahuatanga ki waho o te horopaki o te XML hei whakatika i nga raru o te ao i enei ra. XPath: Ko te Central API Ko te hangarau XML tino nui pea ko te mea tino whaihua ki waho o te tirohanga XML tika ko XPath, he reo patai e taea ai e koe te kimi i tetahi node, huanga ranei i roto i te rakau tohu me tetahi huānga pakiaka. He tino aroha ahau mo te XSLT, engari ka whakawhirinaki ano ki te XPath, me waiho te aroha whaiaro ki te taha hiranga. Ko te tautohetohe mo te tango i te XSLT kaore he korero mo te XPath, no reira ki taku whakaaro kei te whakaaetia tonu. He pai tena na te mea ko XPath te API matua me te mea nui i roto i tenei huinga hangarau, ina koa ka ngana ana ki te rapu i tetahi mea hei whakamahi i waho o te whakamahi XML noa. He mea nui na te mea, ahakoa ka taea te whakamahi i nga kaiwhiriwhiri CSS ki te kimi i te nuinga o nga huānga o to wharangi, kaore e kitea katoa. I tua atu, kaore e taea te whakamahi i nga kaiwhiriwhiri CSS ki te kimi i tetahi huānga e pa ana ki tona turanga o naianei i te DOM. Ka taea e XPath. Na, ko etahi o koutou e panui ana i tenei ka mohio pea ki a XPath, ko etahi kaore pea. Ko te XPath he waahi tino nui o te hangarau, a kaore e taea e au te tino whakaako i nga kaupapa katoa me te whakaatu ano ki a koe nga mea pai ki te mahi i roto i te tuhinga kotahi penei. I tino whakamatau ahau ki te tuhi i taua tuhinga, engari kaore i neke atu i te 5,000 nga kupu te whakaputanga o Smashing Magazine. Kua nui ake ahau i te2,000 kupu i te haurua noa o nga kaupapa. Na, ka timata ahau ki te mahi i nga mea hauhautanga me XPath ka hoatu ki a koe etahi hononga ka taea e koe te whakamahi mo nga mea taketake mena ka kitea e koe he mea pai tenei. Te whakakotahi i te XPath me te CSS Ka taea e XPath nga mahi maha e kore e taea e nga kaiwhiriwhiri CSS i te wa e patai ana nga huānga. Engari ka taea ano e nga kaiwhiriwhiri CSS etahi mea e kore e taea e XPath, ara, nga huānga uiui ma te ingoa o te akomanga.

CSS XPath .myClass /*[kei roto(@akomanga, "myClass")]

I tenei tauira, ka patai a CSS i nga huānga kei roto he ingoa akomanga .myClass. I tenei wa, ka patai te tauira XPath i nga huānga kei roto he karaehe huanga me te aho "myClass". Arā, ka kowhiria e ia nga huānga me takuClass i roto i tetahi huanga, tae atu ki nga huānga me te ingoa akomanga .myClass — me nga huānga whai "myClass" i roto i te aho, penei i te .myClass2. He whanui ake a XPath i tera tikanga. Na, kaore. Kaore au e kii ana me maka atu e tatou te CSS ka tiimata ki te kowhiri i nga waahanga katoa ma te XPath. Ehara tena i te kaupapa. Ko te take ka taea e XPath te mahi i nga mea kaore e taea e CSS te whai hua tonu, ahakoa he hangarau tawhito kei roto i te puranga tirotiro me te kore e kitea i te wa tuatahi. Me whakamahi tahi nga hangarau e rua ehara i te mea ka taea e tatou, engari na te mea ka ako tatou i tetahi mea mo te XPath i roto i te mahi, ka waiho hei taputapu ano i roto i to puranga - tetahi kaore pea koe i mohio kua tae mai ki reira! Ko te raruraru ko te tikanga document.evaluate a JavaScript me nga momo tikanga whiriwhiri uiui e whakamahia ana e matou me nga API CSS mo JavaScript kaore i te hototahi. I hanga e ahau he API patai pai hei timata i a maatau, ahakoa he pono, kaore au i tino whakaaro mai i te mea kua wehe ke atu i ta maatau mahi i konei. Anei tetahi tauira mahi ngawari o te kaihanga patai ka taea te whakamahi: Tirohia te Pen queryXPath [kua marau] na Bryan Rasmussen. E rua nga tikanga kua taapirihia e au ki te ahanoa tuhinga: queryCSSSelectors (ko te tikanga ko te querySelectorAll) me te queryXPaths. Ko enei e rua ka whakahoki i tetahi ahanoa QueryResults:

{ Momo patai: nodes | aho | tau | boolean, hua: ahakoa [] // huānga html, huānga xml, aho, tau, booleans, UiuiCSSSelectors: (uiui: aho, whakatika: boolean) => Uiuinga Hua, queryXpaths: (uiui: aho, whakatika: boolean) => Uiuinga Hua }

Ko nga mahi queryCSSSelectors me queryXpaths e whakahaere ana i te patai ka hoatu e koe ki runga i nga huānga o te huinga hua, mena he momo node te huinga hua, o te akoranga. Ki te kore, ka whakahoki mai i te QuryResult me ​​te huinga putua me tetahi momo node. Mena kua tautuhia te taonga whakatikatika ki te pono, ka huri nga mahi i a raatau ake Uiuinga. I raro i nga ahuatanga kaore e whakamahia tenei i roto i te taiao whakaputa. He penei taku mahi ki te whakaatu i nga ahuatanga o te whakamahi tahi i nga API patai e rua. Tauira Uiui Kei te pirangi au ki te whakaatu i etahi tauira o nga paatai XPath rereke e whakaatu ana i etahi o nga mea kaha ka taea e ratou me pehea te whakamahi hei whakakapi i etahi atu huarahi. Ko te tauira tuatahi ko //li/text(). Ka uiuia nga huānga li katoa me te whakahoki i o raatau tuhinga. Na, mena ka patai taatau ki te HTML e whai ake nei:

  • kotahi
  • rua
  • toru

…koinei te mea kua whakahokia:

{"queryType":"xpathEvaluate","results":["kotahi","rua","toru"],"resultType":" aho"}

I etahi atu kupu, ka whiwhi tatou i te raupapa e whai ake nei: ["kotahi","rua","toru"]. Ko te tikanga, ka patai koe mo nga huānga li ki te tiki i tera, huri i te hua o taua patai ki roto i te huānga, maherehia te huānga, ka whakahoki i te node kuputuhi o ia huānga. Engari ka taea e taatau te mahi ma te XPath: document.queryXPaths("//li/text()").nga hua.

Kia mahara ko te huarahi ki te tiki i te node kuputuhi ko te whakamahi i te kupu (), he rite te ahua o te waitohu mahi — a ko. Ka whakahokia te kōpuku kuputuhi o tētahi huānga. I roto i ta maatau tauira, e toru nga huānga li i roto i te tohu, kei roto i ia tuhinga he kupu ("kotahi", "rua", me "toru"). Me titiro ki tetahi atu tauira o te patai () kuputuhi. Whakaarohia koinei to maatau tohu: Waitohu

Me tuhi he patai e whakahoki ana i te uara huanga href: document.queryXPaths("//a[text() = 'Waitohu']/@href").nga hua.

He patai XPath tenei mo te tuhinga o naianei, penei i te tauira whakamutunga, engari i tenei wa ka whakahokia e matou te huanga href o te hono (he huānga) kei roto te kupu "Waitohu Mai". Ko te tino hoki maiKo te hua ko ["/login.html"]. XPath Mahi Overview He maha nga mahi XPath, a kaore pea koe e mohio ki a raatau. He maha, ki taku whakaaro, e tika ana kia mohiohia, tae atu ki enei e whai ake nei:

starts-withKi te timata te kuputuhi ki tetahi atu tauira kuputuhi, timata-ki(@href, 'http:') ka whakahoki pono ki te timata tetahi huanga href ki te http:. kei rotoKi te mea kei roto i tetahi tuhinga tetahi atu tauira kuputuhi, kei roto(kuputuhi(), "Maheni Tutuki") ka whakahoki pono mena kei roto i tetahi pona kupu nga kupu "Maheni Waahi" kei roto i nga waahi katoa. countWhakahokia he tatau o te maha o nga whakataetae ki tetahi patai. Hei tauira, tatau(//*[starts-with(@href, 'http:']) ka whakahoki i te tatau o te maha o nga hononga kei roto i te node horopaki he huānga me te huanga href kei roto te tuhinga timata mai i te http:. substringWorks like JavaScript substring, engari ka tukuna e koe te aho hei tohenga. Hei tauira, substring("taku kupu", 2, 4) whakahoki "y t". substring-beforeWhakahokia te wahanga o te aho ki mua i tetahi atu aho. Hei tauira, substing-before("taku tuhinga", " ") whakahoki "taku". Waihoki, substring-before("hi","bye") ka whakahoki i te aho kau. substring-afterWhakahokia te wahanga o te aho ki muri i tetahi atu aho. Hei tauira, substing-after("my text", " ") returns "text". Waihoki, substring-after("hi","bye") ka whakahokia he aho kau. normalize-spaceWhakahokia te aho tohenga me te mokowāma kua whakahāngaitia mā te tihorea i te arataki me te whai i te mokowāma me te whakakapi i nga raupapa o nga tohu mokowāma ki te mokowā kotahi. notWhakahokia he boolean pono ki te he te tautohe, mena he teka. trueWhakahokia te boolean pono. falseReturns boolean teka. concatKo te mea ano ko JavaScript concat, engari kaore koe e whakahaere hei tikanga i runga i te aho. Engari, ka whakauruhia e koe nga aho katoa e hiahia ana koe ki te whakakotahi. aho-roaKare tenei i te rite ki te JavaScript aho-roa, engari ka whakahoki i te roa o te aho i hoatu hei tautohe. translateThis ka tango i tetahi aho ka huri i te tohenga tuarua ki te tohenga tuatoru. Hei tauira, whakamaori("abcdef", "abc", "XYZ") ka whakaputa XYZdef.

I tua atu i enei mahi XPath, he maha atu ano nga mahi e mahi rite tonu ana ki o raatau hoa JavaScript - he rereke ranei i roto i nga reo whakamaoritanga - tera pea ka whai hua koe, penei i te papa, te tuanui, te porowhita, te moni, me era atu. Ko te whakaaturanga e whai ake nei e whakaatu ana i ia mahi: Tirohia nga mahi Tau Pene XPath [kua marau] na Bryan Rasmussen. Kia maumahara, penei i te nuinga o nga mahi whawhe aho, he maha nga mea tau ka tango kotahi te whakauru. Ko te tikanga tenei, na te mea e tika ana kia whakamahia mo te patai, penei i te tauira XPath whakamutunga: //li[papa(kuputuhi()) > 250]/@val

Mena ka whakamahia e koe, pera i te nuinga o nga tauira, ka mutu te whakahaere i runga i te waahanga tuatahi e rite ana ki te huarahi. Kei reira ano etahi momo mahi hurihanga me karohia e koe na te mea kei a JavaScript ano ona ake raru huringa momo. Engari tera pea etahi wa ka hiahia koe ki te huri i tetahi aho ki tetahi tau kia tirohia ai ki etahi atu tau. Ko nga mahi e whakatakoto ana i te momo mea he boolean, tau, aho, me te node. Koinei nga momo raraunga XPath nui. Ka rite ki taau e whakaaro ana, ko te nuinga o enei mahi ka taea te whakamahi i runga i nga momo raraunga ehara i te DOM nodes. Hei tauira, ko te substring-after ka tango i te aho i te mea kua hipokina e matou, engari tera pea ko te aho mai i te huanga href. Ka taea hoki he aho noa:

const testSubstringAfter = document.queryXPaths("substring-muri('kia ora te ao',' ')");

Ma te mohio, ma tenei tauira ka whakahoki mai i a tatou te huinga hua hei ["ao"]. Hei whakaatu i tenei mahi, kua hanga e au he wharangi whakaatu ma te whakamahi i nga mahi ki nga mea ehara i te DOM nodes: Tirohia te Pen queryXPath [kua marau] na Bryan Rasmussen. Me mahara koe ki te ahua miharo o te mahi whakamaori, ara, ki te whai koe i tetahi kiripuaki i te tohenga tuarua (arā, ko te rarangi o nga tohu e hiahia ana koe ki te whakamaori) me te kore he ahua rite hei whakamaori, ka tangohia taua ahuatanga mai i te putanga. Na, tenei:

translate('Kia ora, Ko Inigo Montoya toku Ingoa, nau i patu toku papa, takatu ki te mate','abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,','*')

…ka puta te aho, tae atu ki nga mokowā: [" * * ** "]

Ko te tikanga kei te whakamaoritia te reta “a” ki te whetūriki (*), engari ka tangohia katoatia nga ahuatanga katoa karekau he whakamaoritanga i te mea ko te aho i whaaia. Ko te mokowātea anake ka toei waenganui i nga tohu "a" kua whakamaoritia. Ano, ko tenei patai:

translate('Kia ora, Ko Inigo Montoya toku Ingoa, nau i patu toku papa, whakarite kia mate','abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,','******************************************************')")

…kare he raruraru ka puta he hua penei:

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

Ka pa ki a koe kaore he huarahi ngawari i roto i te JavaScript ki te mahi i ta te mahi whakamaori XPath, ahakoa mo te maha o nga keehi, ka taea e te whakakapiAll me nga korero auau te whakahaere. Ka taea e koe te whakamahi i te huarahi ano kua whakaatuhia e ahau, engari he mea tino pai mena ka hiahia koe ki te whakamaori i nga aho. Ko te demo e whai ake nei ka takai i te mahi whakamaori a XPath hei whakarato i te putanga JavaScript: Tirohia te mahi whakamaori Pene [kua marau] na Bryan Rasmussen. Kei hea koe e whakamahi ai i tetahi mea penei? Whakaarohia te whakamunatanga a Caesar Cipher me te whakamunatanga e toru nga waahi (hei tauira, te whakamunatanga o runga o te raina mai i te 48 BC):

translate("Kei te whakamahere a Kaisara ki te whakawhiti i te Rubicon!", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", "XYZABCDEFGHIJKLMNOPQRSTUVWxyzabcdefghijklmnopqrstuvw")

Ko te tuhinga whakauru "Kei te whakamahere a Kaisara ki te whakawhiti i te Rubicon!" hua i roto i “Zxbpxo fp mixkkfkd ql zolpp qeb Oryfzlk!” Hei whakaatu i tetahi atu tauira tere o nga ahuatanga rereke, i hanga e ahau he mahi whakarewa e tango ana i te whakauru aho me te whakamahi i te mahi whakamaori hei whakahoki i te tuhinga, tae atu ki nga tohu katoa e tango ana i nga umlauts. Tirohia te mahi whakarewa pene na Bryan Rasmussen.

const konganuku = (str) => { return translation(str, "AOUaou","ÄÖÜäöü"); }

A, ki te hoatu te tuhinga "Motley Crue rules, rock on dudes!", ka hoki mai "Mötley Crüe rüles, röck ön düdes!" Ko te tikanga, ka taea e tetahi te whakamahi i nga momo parody katoa o tenei mahi. Mena ko koe tena, na tenei tuhinga TVTropes e tika ana kia nui te whakahihiri ki a koe. Te whakamahi CSS Ki te XPath Kia maumahara ki ta maatau take nui mo te whakamahi i nga kaiwhiriwhiri CSS me te XPath: Kei te tino mohio a CSS he aha te karaehe, engari ko te mea pai ka taea e koe me XPath ko te whakataurite aho o te huanga o te akomanga. Ka mahi tera i te nuinga o nga keehi. Engari ki te tupono koe ki tetahi ahuatanga, me kii, i hangaia e tetahi nga karaehe ko .primaryLinks me .primaryLinks2 ka whakamahi koe i te XPath ki te tiki i te akomanga .primaryLinks, ka raru pea koe. I te mea kaore he mea poauau penei, ka whakamahi pea koe i te XPath. Engari e pouri ana ahau ki te korero kua mahi au ki nga waahi e mahi ai te tangata i era momo mahi poauau. Anei tetahi atu demo ma te whakamahi i te CSS me te XPath tahi. E whakaatu ana he aha ka puta ina whakamahi tatou i te waehere hei whakahaere i te XPath i runga i te node horopaki ehara i te node o te tuhinga. Tirohia te Pene css me te xpath tahi [kua marau] na Bryan Rasmussen. Ko te patai CSS ko .relatedarticles a, e tiki ana i nga huānga a e rua i roto i te div kua tohua he akomanga .related articles. Whai muri i tera ko nga patai "kino" e toru, ara, ko nga patai kaore e mahi i ta matou e hiahia ana kia mahia i te wa e rere ana me enei huānga hei pona horopaki. Ka taea e au te whakamarama he aha i rereke ai o raatau whanonga i to whakaaro. Ko nga patai kino e toru e paatai ​​ana ko:

//text(): Whakahokia nga kuputuhi katoa i roto i te tuhinga. //a/text(): Whakahokia nga kupu katoa o roto o nga hononga o te tuhinga. ./a/text(): Karekau he hua.

Ko te take o enei hua ko te mea ko to horopaki he huānga i whakahokia mai i te uinga CSS, // ka takahia te tuhinga katoa. Ko te kaha tenei o XPath; E kore e taea e CSS te haere mai i te node ki runga ki tetahi tupuna, katahi ki tetahi teina o taua tupuna, ka haere ki raro ki te uri o taua teina. Engari ka taea e XPath. I taua wa, ka patai a ./ ki nga tamariki o te node o naianei, ko te ira (.) e tohu ana i te node o naianei, a ko te rītaha whakamua (/) e tohu ana i te haere ki etahi node tamaiti — ahakoa he huanga, he huānga, he kuputuhi ranei ka whakatauhia e te waahanga o muri o te ara. Engari karekau he tamaiti he huānga kua tohua e te uinga CSS, no reira kaore ano kia hoki mai taua patai. E toru nga patai pai i roto i tera whakaaturanga whakamutunga:

.//kuputuhi(), ./text(), normalize-space(./text()).

Ko te uinga mokowā noa e whakaatu ana i te whakamahinga mahi XPath, engari ka whakatika ano i tetahi raru kei roto i era atu patai. He penei te hanganga o te HTML:

Whakaaunoa i to Whakamatau Whakaaturanga Ma te Selenium WebDriver

Ka whakahokia e te patai he whangai raina i te timatanga me te mutunga o te node kuputuhi,a ka whakakorehia e te mokowā-mokowā tenei. Ko te whakamahi i tetahi mahi XPath e whakahoki ana i tetahi mea ke atu i te boolean me te whakauru XPath ka pa ki etahi atu mahi. Ko te whakaaturanga e whai ake nei e whakaatu ana i etahi tauira: Tirohia nga tauira mahi Pen xpath [kua marau] na Bryan Rasmussen. Ko te tauira tuatahi e whakaatu ana i tetahi raruraru me mataara koe. Ina koa, ko te waehere e whai ake nei:

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

…ka whakahokia tetahi aho:

"www.smashingmagazine.com/2018/04/feature-testing-selenium-webdriver/"

He tikanga, tika? Ko enei mahi e kore e whakahoki i nga rarangi engari he aho kotahi, he tau kotahi ranei. Ko te whakahaere i te mahi ki hea me nga hua maha ka hoki mai te hua tuatahi. Ko te hua tuarua e whakaatu ana i ta matou e tino hiahia ana:

document.queryCSSSelectors("a").queryXPaths("substring-after(./@href,'https://')");

Ka whakahoki i te huinga o nga aho e rua:

["www.smashingmagazine.com/2018/04/feature-testing-selenium-webdriver/","www.smashingmagazine.com/2022/11/automated-test-results-improve-accessibility/"]

Ko nga mahi XPath ka taea te kohanga pera i nga mahi i roto i te JavaScript. Na, ki te mohio matou ki te hanganga URL mo te Moheni Smashing, ka taea e matou te mahi e whai ake nei (e taunaki ana ma te whakamahi i nga kupu tauira): `whakamaori( ahoroto( substring-after(./@href, 'www.smashingmagazine.com/') ,9), '/','')`

Kei te tino uaua tenei ki te hiahia korero e whakaatu ana he aha tana mahi: tangohia te katoa o te URL mai i te huanga href i muri i te www.smashingmagazine.com/, tangohia nga tohu tuatahi e iwa, katahi ka whakamaoritia te rītaha whakamua (/) ki te kore noa kia whakakorehia te rītaha whakamua mutunga. Ko te huinga hua:

["feature-testing-selenium-webdriver","Aunoa-whakamatautau-hua-whakapai ake-whakauru"]

Ētahi atu XPath Whakamahi Take Ka taea e XPath te whiti i roto i nga whakamatautau. Ko te take ehara i te mea uaua ki te kite, na te mea ka taea te whakamahi XPath ki te tiki i nga huānga katoa o te DOM, mai i tetahi tuunga i te DOM, engari kaore e taea e CSS. Kaore e taea e koe te tatau ki nga karaehe CSS e noho rite tonu ana i roto i te maha o nga punaha hanga hou, engari ma te XPath, ka kaha ake taatau ki te hanga i nga whakataetae pakari ake mo te ahua o te tuhinga o tetahi huānga, ahakoa he rereke te hanganga DOM. Kua rangahauhia nga tikanga e taea ai e koe te mahi whakamatautau XPath kaha. Kare he mea kino atu i te paheketanga o nga whakamatautau ka rahua na te mea kua kore te kaiwhiriwhiri CSS e mahi na te mea kua whakaingoatia, kua tangohia ranei tetahi mea. He tino pai a XPath ki te tangohanga kairapu maha. He maha atu i te kotahi te huarahi ki te whakamahi i nga patai XPath kia rite ki tetahi huānga. He pera ano me CSS. Engari ka taea e nga patai XPath te ruku ki roto i nga mea i runga i te huarahi whakawhāiti i nga mea ka whakahokia mai, ka taea e koe te kimi i tetahi whakataetae motuhake kei reira he maha nga whakataetae ka taea. Hei tauira, ka taea e tatou te whakamahi i te XPath ki te whakahoki i tetahi huānga h2 motuhake kei roto i te div e whai tonu ana i tetahi div teina, kei roto hoki he huānga whakaahua tamaiti me te huanga raraunga-testID="kaitaki" kei runga:

kaua e whiwhi i tenei kupu matua

Kaua e whiwhi i tenei kupu matua

Ko te pane mo te ahua rangatira

Koinei te patai: document.queryXPaths(` //div[ whai-teina::div[1] /img[@data-testID='rangatira'] ] /h2/ kupu() `);

Me tuku he demo ki te kite me pehea te whakakotahi katoa: Tirohia te Uiui H2 Matatini Pene [kua marau] na Bryan Rasmussen. Na, ae. He maha nga huarahi ka taea ki tetahi waahanga o te whakamatautau ma te whakamahi i te XPath. XSLT 1.0 Whakakore I korero wawe ahau ko te roopu Chrome e whakaaro ana ki te tango i te tautoko XSLT 1.0 mai i te tirotiro. He mea nui tena na te mea kei te whakamahi a XSLT 1.0 i nga kaupapa e arotahi ana ki te XML mo te whakarereketanga tuhinga, ka whakawhirinaki ki te XPath 1.0, koinei te mea e kitea ana i te nuinga o nga kaitirotiro. Ka pa ana tera, ka ngaro tetahi waahanga matua o XPath. Engari i te mea he tino pai a XPath mo te tuhi i nga whakamatautau, ka kitea e au kaore pea ka ngaro a XPath katoa i nga wa katoa. E ai ki tera, kua kite ahau ka aro te tangata ki tetahi ahuatanga ka tangohia. A he tino pono tera mo te XSLT 1.0 kua whakakorehia. He korero katoa kei te korero i te Hacker News ki tonu i nga tautohetohe mo te whakakorenga. Ko te pou ake he tauira pai mo te hanga anga rangitaki me te XSLT. Ko koeKa taea e koe te panui i te korerorero mo koe ake, engari ka uru ki te pehea e whakamahia ai a JavaScript hei tohu mo te XLST ki te hapai i aua momo keehi. Kua kite ano au i nga whakaaro me whakamahi nga kaitirotiro SaxonJS, he tauranga ki nga miihini Saxon XSLT, XQUERY, me XPath a JavaScript. He whakaaro whakamere tera, ina koa ko te Saxon-JS e whakatinana ana i te putanga o naianei o enei whakaritenga, i te mea kaore he kaitirotiro e whakamahi ana i tetahi momo putanga o XPath, XSLT ranei i tua atu i te 1.0, a kaore tetahi e whakamahi ana i te XQuery. I toro atu ahau ki a Norm Tovey-Walsh i Saxonica, te kamupene kei muri i a SaxonJS me etahi atu putanga o te miihini Saxon. Ka mea ia: "Mena kei te pirangi tetahi kaihoko tirotiro ki te tango i a SaxonJS hei timatanga mo te whakauru i nga hangarau XML hou ki roto i te kaitirotiro, ka koa matou ki te korero ki a raatau." - Norm Tovey-Walsh

Engari i taapiri ano: "Ka tino miharo ahau ki te whakaaro tetahi ko te tango i a SaxonJS i roto i tona ahua o naianei me te tuku ki roto i te kaitirotiro hanga kaore i whakarereketia ko te huarahi pai. Ko te kaihoko tirotiro, na te ahua o te hanga i te tirotiro, ka taea te whakatata atu ki te whakaurunga i te taumata hohonu atu i ta tatou e taea 'mai i waho'. " - Norm Tovey-Walsh

He mea tika kia mohio ko nga korero a Tovey-Walsh i puta mo te wiki i mua i te panui o te whakakorenga o te XSLT. Whakamutunga Ka taea e au te haere tonu. Engari ko taku tumanako kua whakaatu tenei i te mana o XPath me te maha o nga tauira e whakaatu ana me pehea te whakamahi mo te whakatutuki i nga mea nunui. He tauira tino pai o te hangarau tawhito i roto i te puranga tirotiro he maha tonu nga whaipainga i enei ra, ahakoa kaore koe i mohio kei te noho, kaore ranei i whakaaro kia tae atu. Panuitanga Atu

"Te Whakanuia i te Maamaa o nga Whakamātautau Tukutuku Aunoa me te Reo Maori" (ACM Digital Library) na Maroun Ayli, Youssef Bakouny, Nader Jalloul, me Rima Kilany Ko tenei tuhinga e whakarato ana i nga tauira XPath maha mo te tuhi i nga whakamatautau kaha. XPath (MDN)He waahi pai tenei ki te timata mena ka hiahia koe ki te whakamarama hangarau e whakaatu ana me pehea te mahi a XPath. XPath Tutorial (ZVON)Kua kitea e au ko tenei akoranga te tino awhina i aku ake akoranga, na te maha o nga tauira me nga whakamarama marama. XPatherMa tenei taputapu taunekeneke ka taea e koe te mahi tika me te waehere.

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