WebDriver sélectionner l'élément que a ::avant
J'ai 2 éléments qui ont les mêmes attributs, mais montre une à une sur la page (Quand on s'est montré, l'autre disparaît).La seule différence entre les deux est que l'élément qui s'affiche sera le '::avant de sélecteur. Est-il possible d'utiliser une expression xpath ou sélecteur css pour récupérer l'élément à partir de son id et si elle a ou non ::avant
Les éléments ne disposez pas d'un id. Pourquoi ne pas vous suffit de la sélectionner à l'aide d'un nom de classe?
parce que les deux éléments ont le même nom de classe
Comment êtes-vous distinguer dans le CSS, afin d'appliquer les
Voir cette réponse - stackoverflow.com/a/28265738/4720017
parce que les deux éléments ont le même nom de classe
Comment êtes-vous distinguer dans le CSS, afin d'appliquer les
:before
pseudo élément à la bonne?Voir cette réponse - stackoverflow.com/a/28265738/4720017
OriginalL'auteur Jeremy Borg | 2015-04-21
Vous devez vous connecter pour publier un commentaire.
Je parie aussi essayer avec la solution d'activer javascript ci-dessus.
Depuis ::après & ::avant sont un pseudo-élément qui vous permet d'insérer du contenu sur une page de CSS (sans avoir besoin d'être dans le code HTML). Même si le résultat final n'est pas réellement dans les DOM, il apparaît sur la page, comme s'il l'est, vous le voyez, mais ne peut pas vraiment trouver avec xpath par exemple (https://css-tricks.com/almanac/selectors/a/after-and-before/).
Je peux aussi proposer si possible d'avoir des Identifiants différents ou s'ils en place différente dans les DOM faire des plus complexes à l'aide de xpath ci-dessus/ci-dessous les éléments et voir si elle est affichée.
OriginalL'auteur Rain9333
Pseudo-Éléments
Un CSS pseudo-élément est utilisé pour le style de certaines parties d'un élément. Il peut être utilisé pour:
::après
::after
est un pseudo-élément qui vous permet d'insérer du contenu sur une page de CSS (sans avoir besoin d'être dans le code HTML). Même si le résultat final n'est pas réellement dans les DOM, il apparaît sur la page, comme si elle l'est, et serait essentiellement comme ceci:CSS:
HTML:
::avant
::before
est exactement la même, seulement il insère le contenu avant tout autre contenu dans le code HTML et non après. Les seules raisons pour utiliser l'un sur l'autre sont:::after
contenu est aussi un "après" dans la source-commande, de sorte qu'il permettra de se positionner sur le haut de::before
si empilés les uns sur les autres naturellement.Contenu
La valeur pour le contenu peut être l'une des suivantes:
content: "a string";
- caractères spéciaux doivent être spécialement encodée en unicode entité. Voir la les glyphes page.content: counter(li);
- Vraiment utile pour le style des listes jusqu'à :marqueur vient le long.Note: que vous ne pouvez pas insérer du code HTML (au moins, qui sera rendu au format HTML).
OriginalL'auteur DebanjanB