У аутоматизацији селена, ако елементи не налазе општи локатори попут ид, класе, имена итд., Тада се КСПатх користи за проналажење елемента на веб страници.
У овом упутству ћемо научити о кпатх и различитим КСПатх изразима како бисмо пронашли сложене или динамичке елементе, чији се атрибути динамички мењају при освежавању или било којим операцијама.
У овом водичу за КСПатх научићете-
- Шта је КСПатх?
- Врсте Кс-путање
- Апсолутни КСПатх
- Релативни КСПатх
- Основни КСПатх
- Садржи()
- Коришћење ОР & АНД
- Почиње са функцијом
- Текст ()
- Методе оси КСПатх
- Следећи
- Предак
- Дете
- Претходи
- Сљедбеници
- Родитељ
- Селф
- Потомак
Шта је КСПатх у селену?
КСПатх у селенију је КСМЛ путања која се користи за навигацију кроз ХТМЛ структуру странице. То је синтакса или језик за проналажење било ког елемента на веб страници помоћу израза КСМЛ путање. КСПатх се може користити и за ХТМЛ и за КСМЛ документе да би се пронашла локација било ког елемента на веб страници користећи ХТМЛ ДОМ структуру.
Основни формат КСПатх-а у селену је објашњен у наставку са снимком екрана.
Основни формат КСПатх-а
Синтакса за КСПатх селен:
КСПатх садржи путању елемента који се налази на веб страници. Стандардна КСПатх синтакса за стварање КСПатх-а је.
Кспатх = // тагнаме [@ аттрибуте = 'валуе']
- //: Изаберите тренутни чвор.
- Ознака: Ознака одређеног чвора.
- @: Изаберите атрибут.
- Атрибут: Име атрибута чвора.
- Вредност: Вредност атрибута.
За тачан проналазак елемента на веб страницама постоје различите врсте локатора:
Локатори КСПатх | Пронађите различите елементе на веб страници |
ИД | Да бисте пронашли елемент према ИД-у елемента |
Назив класе | Да бисте пронашли елемент према називу класе елемента |
Име | Да бисте пронашли елемент по имену елемента |
Текст везе | Да бисте пронашли елемент према тексту везе |
КСПатх | КСПатх потребан за проналажење динамичког елемента и прелазак између различитих елемената веб странице |
ЦСС путања | ЦСС путања такође лоцира елементе који немају име, класу или ИД. |
Врсте Кс-путање
Постоје две врсте КСПатх:
1) Апсолутни КСПатх
2) Релативни КСПатх
Апсолутни КСПатх:
То је директан начин за проналажење елемента, али недостатак апсолутног КСПатх-а је тај што ако на путу до елемента дође до било каквих промена, тада КСПатх не успе.
Кључна карактеристика КСПатх-а је да започиње једном косом цртом унапред (/), што значи да елемент можете одабрати из коренског чвора.
Испод је пример апсолутног кпатх израза елемента приказаног на доњем екрану.
НАПОМЕНА: На овом хттп://демо.гуру99.цом/тест/селениум-кпатх.хтмл можете вежбати следећу КСПатх вежбу
Кликните овде ако видео снимку није доступан
Апсолутни КСПатх:
/ хтмл / боди / див [2] / див [1] / див / х4 [1] / б / хтмл [1] / боди [1] / див [2] / див [1] / див [1] / х4 [1] / б [1]
Апсолутни КСПатх
Релативни Кспатх:
Релативни Кспатх започиње од средине ХТМЛ ДОМ структуре. Почиње двоструком косом косом цртом (//). Може претраживати елементе било где на веб страници, што значи да нема потребе за писањем дугачког кпатх-а и можете почети од средине ХТМЛ ДОМ структуре. Релативни Кспатх је увек пожељнији јер није целовита путања од основног елемента.
Испод је пример релативног КСПатх израза истог елемента приказаног на доњем екрану. Ово је уобичајени формат који се користи за проналажење елемента помоћу КСПатх-а.
Кликните овде ако видео снимку није доступан
Релативни КСПатх: // див [@ цласс = 'феатуред-бок цлоумнсизе1'] // х4 [1] // б [1]
Релативни КСПатх
Шта су КСПатх осе.
Оси КСПатх претражују различите чворове у КСМЛ документу из тренутног чвора контекста. КСПатх осе су методе које се користе за проналажење динамичких елемената, што иначе није могуће уобичајеном КСПатх методом која нема ИД, назив класе, име итд.
Методе осе користе се за проналажење оних елемената који се динамички мењају при освежавању или било којим другим операцијама. Постоји неколико метода оси које се обично користе у Селениум Вебдривер-у, попут детета, родитеља, претка, брата и сестре, претходника, себе итд.
Коришћење КСПатх руковања сложеним и динамичким елементима у селенијуму
1) Основни КСПатх:
Израз КСПатх бира чворове или листу чворова на основу атрибута као што су ИД, Име, Име класе итд. Из КСМЛ документа као што је илустровано у наставку.
Кспатх = // унос [@ наме = 'уид']
Ево везе за приступ страници хттп://демо.гуру99.цом/тест/селениум-кпатх.хтмл
Основни КСПатх
Још неколико основних израза кпатх:
Кспатх = // унос [@ типе = 'тект']Кспатх = // ознака [@ ид = 'мессаге23']Кспатх = // улаз [@ валуе = 'РЕСЕТ']Кспатх = // * [@ цласс = 'бароне']Кспатх = // а [@ хреф = 'хттп: //демо.гуру99.цом/']Кспатх = //имг[@срц='//цдн.гуру99.цом/имагес/хоме/јава.пнг ']
2) Садржи ():
Садржи () је метода која се користи у изразу КСПатх. Користи се када се вредност било ког атрибута динамички мења, на пример, подаци за пријављивање.
Садржај садржи могућност проналажења елемента са делимичним текстом као што је приказано у доњем примеру КСПатх.
У овом примеру смо покушали да идентификујемо елемент користећи само делимичну текстуалну вредност атрибута. У доњем изразу КСПатх уместо дугмета за слање користи се делимична вредност „суб“. Може се приметити да је елемент успешно пронађен.
Комплетна вредност „Типе“ је „субмит“, али се користи само делимична вредност „суб“.
Кспатх = // * [садржи (@ тип, 'под')]
Комплетна вредност „наме“ је „бтнЛогин“, али се користи само делимична вредност „бтн“.
Кспатх = // * [садржи (@ име, 'бтн')]
У горњем изразу узели смо „име“ као атрибут, а „бтн“ као делимичну вредност као што је приказано на доњем снимку екрана. Ово ће пронаћи 2 елемента (ПРИЈАВА & ПОНОВНО ПОНОВО) пошто њихов атрибут 'наме' почиње са 'бтн'.
Слично томе, у доњем изразу узели смо „ид“ као атрибут, а „мессаге“ као делимичну вредност. Пронаћи ће се 2 елемента („Усер-ИД не сме бити празан“ & „Лозинка не сме бити празно“) јер његов атрибут „наме“ почиње са „мессаге“.
Кспатх = // * [садржи (@ ид, 'поруку')]
У доњем изразу узели смо „текст“ везе као атрибут, а „овде“ као делимичну вредност као што је приказано на доњем снимку екрана. Ово ће пронаћи везу ('овде') јер приказује текст 'овде'.
Кспатх = // * [садржи (текст (), 'овде')]Кспатх = // * [садржи (@ хреф, 'гуру99.цом')]
3) Коришћење ОР & АНД:
У изразу ИЛИ користе се два услова, да ли 1. услов ИЛИ други услов треба да буду тачни. Такође је применљиво ако је било који услов тачан или можда оба. Значи да би било који услов требао бити тачан за проналажење елемента.
У доњем КСПатх изразу идентификује елементе чији су појединачни или оба услова тачни.
Кспатх = // * [@ типе = 'субмит' ор @ наме = 'бтнРесет']
Истицање оба елемента као елемента „ПРИЈАВА“ који има атрибут „тип“ и „РЕСЕТ“ елемента који има атрибут „име“.
У изразу АНД користе се два услова, оба услова треба да буду тачна за проналажење елемента. Не успева да пронађе елемент ако је било који услов нетачан.
Кспатх = // инпут [@ типе = 'субмит' анд @ наме = 'бтнЛогин']
У доњем изразу, истицање елемента „ПРИЈАВА“ јер има и атрибут „тип“ и „име“.
4) Кспатх започиње са
КСПатх старт-витх () је функција која се користи за проналажење веб елемента чија се вредност атрибута мења при освежавању или другим динамичким операцијама на веб страници. У овој методи се полази почетни текст атрибута како би се пронашао елемент чија се вредност атрибута динамички мења. Такође можете пронаћи елементе чија је вредност атрибута статична (не промене).
На пример -: Претпоставимо да се ИД одређеног елемента динамички мења на следећи начин:
Ид = "мессаге12"
Ид = "мессаге345"
Ид = "мессаге8769"
и тако даље ... али почетни текст је исти. У овом случају користимо израз Старт-витх.
У доњем изразу постоје два елемента са ид-ом који започиње „поруку“ (тј. „Усер-ИД не сме бити празан“ и „Лозинка не сме бити празна“). У доњем примеру, КСПатх проналази оне елементе чији „ИД“ почиње са „мессаге“.
Кспатх = // ознака [започиње са (@ ид, 'порука')]
5) Функција КСПатх Тект ()
Функција КСПатх тект () је уграђена функција селениум вебдривер-а која се користи за лоцирање елемената заснованих на тексту веб елемента. Помаже у проналажењу тачних елемената текста и лоцира елементе у скупу чворова текста. Елементи који се налазе требају бити у облику низа.
У овом изразу, са функцијом текста, проналазимо елемент који се тачно подудара са текстом као што је приказано доле. У нашем случају проналазимо елемент са текстом „УсерИД“.
Кспатх = // тд [тект () = 'УсерИД']
6) методе КСПатх осе:
Ове методе КСПатх осе користе се за проналажење сложених или динамичких елемената. Испод ћемо видети неке од ових метода.
За илустрацију ове методе КСПатх осе користићемо демо страницу Гуру99 банке.
а) Следи:
Одабире све елементе у документу тренутног чвора () [Поље за унос УсерИД је тренутни чвор] као што је приказано на доњем екрану.
Кспатх = // * [@ типе = 'тект'] // следећи :: инпут
Постоје 3 „улазна“ чвора која се подударају помоћу „следећег“ осе - лозинка, дугме за пријаву и ресетовање. Ако желите да се усредсредите на било који одређени елемент, можете користити доњу КСПатх методу:
Кспатх = // * [@ типе = 'тект'] // следећи :: инпут [1]
Можете променити КСПатх према захтеву тако што ћете ставити [1], [2]
… и тако даље.Са уносом као '1', доњи снимак заслона проналази одређени чвор који је елемент поља за унос 'Лозинка'.
б) Предак:
Ос предака бира све елементе предака (деда, родитељ, итд.) Тренутног чвора као што је приказано на доњем екрану.
У доњем изразу налазимо елемент претка тренутног чвора (чвор „ТЕСТИРАЊЕ ПРЕДУЗЕЋА“).
Кспатх = // * [тект () = 'Тестирање предузећа'] // предак :: див
Постоји 13 „див“ чворова који се подударају помоћу осе „предак“. Ако желите да се усредсредите на било који одређени елемент, можете да користите КСПатх испод, где мењате број 1, 2 према вашим захтевима:
Кспатх = // * [тект () = 'Тестирање предузећа'] // предак :: див [1]
Можете променити КСПатх према захтеву тако што ћете ставити [1], [2]
… и тако даље.ц) Дете:
Одабире све подређене елементе тренутног чвора (Јава) како је приказано на доњем екрану.
Кспатх = // * [@ ид = 'јава_тецхнологиес'] // дете :: ли
Постоји 71 "ли" чвор који се подудара помоћу "подређене" осе. Ако желите да се усредсредите на било који одређени елемент, можете користити доњи кпатх:
Кспатх = // * [@ ид = 'јава_тецхнологиес'] // дете :: ли [1]
Можете променити кпатх према захтеву стављањем [1], [2]
… и тако даље.д) Претходно:
Изаберите све чворове који долазе пре тренутног чвора, као што је приказано на доњем екрану.
У доњем изразу идентификује све елементе уноса пре дугмета „ПРИЈАВА“ који је елемент за унос корисничког имена и лозинке .
Кспатх = // * [@ типе = 'субмит'] // претходни :: инпут
Постоје 2 "улазна" чвора која се подударају помоћу "претходне" осе. Ако желите да се усредсредите на било који одређени елемент, можете користити КСПатх у наставку:
Кспатх = // * [@ типе = 'субмит'] // претходни :: инпут [1]
Можете променити кпатх према захтеву стављањем [1], [2]
… и тако даље.е) Породица и браћа:
Изаберите следећу браћу и сестре контекстног чвора. Браћа и сестре су на истом нивоу тренутног чвора као што је приказано на доњем екрану. Пронаћи ће елемент након тренутног чвора.
кпатх = // * [@ типе = 'субмит'] // фолловинг-сиблинг :: инпут
Један улазни чворови који се подударају помоћу осе „следећи-рођени брат“.
ф) Родитељ:
Бира надређеног тренутног чвора као што је приказано на доњем екрану.
Кспатх = // * [@ ид = 'рт-феатуре'] // надређени :: див
Постоји 65 „див“ чворова који се подударају помоћу „родитељске“ осе. Ако желите да се усредсредите на било који одређени елемент, можете користити КСПатх у наставку:
Кспатх = // * [@ ид = 'рт-феатуре'] // надређени :: див [1]
Можете променити КСПатх према захтеву тако што ћете ставити [1], [2]
… и тако даље.г) Ја:
Одабире тренутни чвор или 'селф' значи да означава сам чвор као што је приказано на доњем екрану.
Подударање једног чвора помоћу осе „селф“. Увек проналази само један чвор јер представља самоелемент.
Кспатх = // * [@ типе = 'лозинка'] // селф :: инпут
х) Потомак:
Бира потомке тренутног чвора као што је приказано на доњем екрану.У доњем изразу идентификује све потомке елемента тренутном елементу (елемент оквира „Маин боди сурроунд“), што значи доле испод чвора (подређени чвор, унук чвор, итд.).
Кспатх = // * [@ ид = 'рт-феатуре'] // потомак :: а
Постоји 12 чворова "веза" који се подударају помоћу осе "потомак". Ако желите да се усредсредите на било који одређени елемент, можете користити КСПатх у наставку:
Кспатх = // * [@ ид = 'рт-феатуре'] // потомак :: а [1]
Можете променити КСПатх према захтеву тако што ћете ставити [1], [2]
… и тако даље.Резиме:
КСПатх је потребан да пронађе елемент на веб страници како би извршио операцију над тим одређеним елементом.
- Постоје две врсте селена КСПатх:
- Апсолутни КСПатх
- Релативни КСПатх
- КСПатх осе су методе које се користе за проналажење динамичких елемената, које иначе није могуће пронаћи уобичајеном КСПатх методом
- Израз КСПатх бира чворове или листу чворова на основу атрибута као што су ИД, Име, Име класе итд. Из КСМЛ документа.