Xpath - Wybierz node X jesli Y nie istnieje

0

Witam, Zalozmy ze mam pobrac element div[@class ='aa'] jesli element div[@class='bb'] nie istnieje. Oba nody nie maja wspolnych przodkow z wyjatkiem tagu root'a.
Z gory dziekuje.

0

Dawno nie robiłem nic w XPath, ale może coś w stylu: //div[@class = 'aa' and count(//div[@class = 'bb']) = 0]?

0

Dalej to samo. Probowalem tez z not() i boolean(). Ciagle pojawiaja sie wyniki ktore nie powinny sie pojawic.

0

Znalazlem problem. Problemem nie jest xpath a brak plikow cookie kiedy korzystam z HAP. Sproboje to ogarnac przez WebClienta i sprawdzic wtedy jeszcze raz twoje rozwiazanie.

0

Po sprawdzeniu wszystkich opcji, zalogowaniu sie za pomoca selenium i pobrania calego html wychodzi na to ,ze jednak Xpath jest zly.

1

Pierwsze rozwiązanie było prawie dobre, gdy chcemy szukać od rodzica noda 'aa':

//div[@class = 'aa' and count(../*//div[@class = 'bb']) = 0]

a to jeżeli 'bb' nie może istnieć w całym dokumencie:

//div[@class = 'aa' and count(/*//div[@class = 'bb']) = 0]

To działa dla poniższego przykładu (po zmianie 'cc' na 'bb' wynik jest pusty)

<r>
<div class = 'aa'>test1</div>
<r2>
<div class = 'cc'>test2</div>
</r2>
</r>
0

Sposob @ralf zadzialal u mnie. Wielkie dzieki za pomoc i wartosciowa odpowiedz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1