Ich habe HTML, das im Prinzip wie folgt aussieht:
%Vor%Der folgende xpath in Selen findet kein Element :
%Vor%Die folgenden xpaths in Selen sind erfolgreich, aber nicht spezifisch genug für mich.
%Vor%Warum findet der xpath kein Element, und was kann ich tun, damit es funktioniert?
Übereinstimmungen in Fällen, in denen Sign in
direkt untergeordnetes Element von a
oder Kind eines anderen Elements ist:
Ich meine
<a class="btnX btnSelectedBG" href="#">Sign in</a>
und
<a class="btnX btnSelectedBG" href="#"><b>Sign in</b></a>
// a [enthält (@ class, 'btnX') und span [text () = 'Anmelden']] ist keine gute Idee, weil Sie das DOM für jeden Anker durchsuchen und dann versuchen und komparieren Sie es zu Ihren Suchkriterien.
Im Idealfall möchten Sie Ihren XPath mit dem ersten Aszendentenelement mit einer ID versehen und dann in der Baumstruktur arbeiten.
z.B. wenn dein HTML ist
%Vor%Sie könnten verwenden:
%Vor%Leider kenne ich den Rest der Struktur der Seite nicht, also kann ich Ihnen nichts Konkreteres geben als:
%Vor%aber es ist wirklich kein sehr schöner xpath.
(Mein XPath sieht etwas anders aus als ich, weil ich. als Verknüpfung für text () und eine zweite Gruppe von [] als Verknüpfung für und verwendet habe)
Tags und Links selenium xpath selenium-rc