[JAVA] Conseils pour gérer les pseudo-éléments dans Selenium

Lors de l'écriture de tests E2E avec Selenium, je rencontre parfois des pseudo-éléments (:: before ou :: after) et j'ai des problèmes.

Le problème est que ces pseudo-éléments sont des ** pseudo - ** éléments utilisés dans CSS et ne peuvent pas être falsifiés directement à partir du pilote Web de Selenium. En d'autres termes, même si vous souhaitez cliquer, vous ne pouvez pas cliquer directement sur le pseudo élément. (Le code ci-dessous est Selenide.)

Essayez de cliquer sur un pseudo élément


  $("button::before").click(); //Je ne peux pas cliquer!

Ensuite, comment cliquer est de cliquer sur chaque élément, y compris le pseudo élément.

Tente de cliquer sur un élément contenant un pseudo-élément


  $("button").click();

Espérons que cela fonctionne, mais cela échoue car les éléments contenant les pseudo-éléments sont invisibles dans le passé. Dans un tel cas, cela ne peut pas être aidé, mais il n'y a pas d'autre choix que de spécifier l'emplacement sur le navigateur dans l'ad hoc et cliquez comme suit.

Cliquez sur l'élément qui contient le pseudo élément


Actions actions = new Actions(WebDriverRunner.getWebDriver());
actions.click($("button")).build().perform();
//Les gens qui veulent déplacer le lieu encore plus finement
actions.moveToElement($("button"), xOffset, yOffset).click().build().perform();

Matériel de référence

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

Conseils pour gérer les pseudo-éléments dans Selenium
[Pour les débutants] Exécutez Selenium sur Java
astuces pour java.nio.file.Path
Conseils pour générer des fichiers pour les projets d'éclipse avec Gradle
astuces pour java.nio.file.Path
Conseils pour bien utiliser Canvas avec Xcode
Collection Gradle TIPS (pour moi)
[Java] Conseils pour l'écriture de la source
Mémo pour la création d'API Niconico (Matériaux)
Conseils pour gérer les pseudo-éléments dans Selenium
Conseils pour définir le délai initial pour Poller dans XML
Conseils pour bien utiliser Canvas avec Xcode
Gestion des erreurs avec Graphql-ruby
Conseils d'utilisation de Salesforce SOAP et de l'API Bulk en Java
Solution pour l'erreur Selenium InvalidSelectorException
[Ruby] Gestion des exceptions dans les fonctions
Collection Gradle TIPS (pour moi)
[Java] Conseils pour l'écriture de la source
Prise en charge de JMX pour Selenium Grid
Techniques de gestion des exceptions en Java
Tirez parti de l'un ou l'autre pour la gestion des exceptions individuelles dans l'API Java Stream