Selenium Compound Klassennamen nicht erlaubt

8

Ich habe den folgenden Code, der auf ein Element klickt, um einen Bildschirm zu öffnen und den darin enthaltenen Text zu kopieren

%Vor%

Wenn ich jedoch versucht habe, selenium zu erhalten, klicke auf die Schaltfläche in diesem Popup mit

%Vor%

Erzeugt eine Fehlermeldung: invalid selector: Compound class names not permitted

Dies ist der HTML-Code, auf den ich versuche, selenium zu erhalten. Die Schaltfläche Close .

%Vor%

Wie soll ich el3 schreiben, um auf die Schaltfläche zum Schließen zu klicken?

    
jake wong 12.06.2016, 07:01
quelle

1 Antwort

15

Leons Kommentar führt zu den richtigen Informationen, die zusammengesetzte Klassennamen enthalten werden nicht mehr unterstützt. Stattdessen können Sie CSS-Selektoren verwenden. In Ihrem Fall sollte die folgende Codezeile Ihnen helfen, das gewünschte Element zu erhalten:

%Vor%

Es findet das Element mit allen drei Klassen (action-btn, cancel und alert-display) im Klassenattribut. Beachten Sie, dass die Reihenfolge der Klassen hier keine Rolle spielt und dass jede der Klassen irgendwo im Klassenattribut vorkommen kann. Solange das Element alle drei Klassen enthält, wird es ausgewählt. Wenn Sie möchten, dass die Reihenfolge der Klassen festgelegt wird, können Sie den folgenden xpath verwenden:

%Vor%     
sagarwadhwa1 12.06.2016, 09:47
quelle

Tags und Links