Auswahl eines Elements mit xpath und Selenium

8

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?

    
cgp 27.04.2011, 18:41
quelle

3 Antworten

13

Übereinstimmungen in Fällen, in denen Sign in direkt untergeordnetes Element von a oder Kind eines anderen Elements ist:

%Vor%

Ich meine

<a class="btnX btnSelectedBG" href="#">Sign in</a>

und

<a class="btnX btnSelectedBG" href="#"><b>Sign in</b></a>

    
Emiliano Poggi 27.04.2011, 20:19
quelle
4

// 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)

    
Ardesco 28.04.2011 13:51
quelle
0

Jaaa für mich. Ich denke, das ist die beste Antwort, aber offen für andere Lösungen!

%Vor%     
cgp 27.04.2011 19:13
quelle

Tags und Links