[JAVA] Tipps zum Umgang mit Pseudoelementen in Selen

Wenn ich E2E-Tests mit Selen schreibe, stoße ich manchmal auf Pseudoelemente (:: before oder :: after) und habe Probleme.

Das Problem ist, dass diese Pseudoelemente ** Pseudo - ** Elemente sind, die in CSS verwendet werden und nicht direkt vom Selenium-Webtreiber manipuliert werden können. Mit anderen Worten, selbst wenn Sie klicken möchten, können Sie nicht direkt auf das Pseudoelement klicken. (Der folgende Code ist Selenide.)

Versuchen Sie, auf ein Pseudoelement zu klicken


  $("button::before").click(); //Ich kann nicht klicken!

Klicken Sie dann auf jedes Element, einschließlich des Pseudoelements.

Versuche, auf ein Element zu klicken, das ein Pseudoelement enthält


  $("button").click();

Hoffentlich funktioniert das, aber es schlägt fehl, weil die Elemente, die die Pseudoelemente enthalten, in der Vergangenheit unsichtbar waren. In einem solchen Fall bleibt keine andere Wahl, als den Speicherort im Browser im Ad-hoc-Bereich anzugeben und wie folgt zu klicken.

Klicken Sie auf das Element, das das Pseudoelement enthält


Actions actions = new Actions(WebDriverRunner.getWebDriver());
actions.click($("button")).build().perform();
//Menschen, die den Ort noch feiner bewegen wollen
actions.moveToElement($("button"), xOffset, yOffset).click().build().perform();

Referenzmaterial

https://developer.mozilla.org/ja/docs/Web/CSS/Pseudo-elements https://stackoverflow.com/questions/45427223/click-on-pseudo-element-using-selenium https://www.quora.com/How-do-I-locate-After-and-Before-css-tag-in-selenium-webdriver

Recommended Posts

Tipps zum Umgang mit Pseudoelementen in Selen
[Für Anfänger] Führen Sie Selenium auf Java aus
Tipps für java.nio.file.Path
Tipps zum Generieren von Dateien für Eclipse-Projekte mit Gradle
Tipps für java.nio.file.Path
Tipps zur guten Verwendung von Canvas mit Xcode
Gradle TIPS-Sammlung (für mich)
[Java] Tipps zum Schreiben der Quelle
Memo zur Herstellung von Niconico API (Materialien)
Tipps zum Umgang mit Pseudoelementen in Selen
Tipps zum Festlegen der anfänglichen Verzögerung für Poller in XML
Tipps zur guten Verwendung von Canvas mit Xcode
Fehlerbehandlung mit Graphql-Ruby
Tipps zur Verwendung von Salesforce SOAP und Bulk API in Java
Abhilfe für Selenium InvalidSelectorException-Fehler
[Ruby] Ausnahmebehandlung in Funktionen
Gradle TIPS-Sammlung (für mich)
[Java] Tipps zum Schreiben der Quelle
JMX-Unterstützung für Selenium Grid
Ausnahmebehandlungstechniken in Java
Nutzen Sie entweder für die individuelle Ausnahmebehandlung in der Java Stream-API