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.
Dawno nie robiłem nic w XPath, ale może coś w stylu: //div[@class = 'aa' and count(//div[@class = 'bb']) = 0]
?
Dalej to samo. Probowalem tez z not() i boolean(). Ciagle pojawiaja sie wyniki ktore nie powinny sie pojawic.
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.
Po sprawdzeniu wszystkich opcji, zalogowaniu sie za pomoca selenium i pobrania calego html wychodzi na to ,ze jednak Xpath jest zly.
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>
Sposob @ralf zadzialal u mnie. Wielkie dzieki za pomoc i wartosciowa odpowiedz.