-1
votes

Comment trouver l'élément par Sélecteur Sélecteur CSS contient l'attribut et le texte

//*[@data-test-id="status" and text()=" online "]

0 commentaires

4 Réponses :


2
votes

Vous ne pouvez pas le faire avec css_selector , xpath est le seul moyen de localiser par texte. Il y a wind_element_by_link_text , mais uniquement pour tags, et sans attributs supplémentaires.


0 commentaires

-1
votes

Ce n'est pas possible.

Mais je pense que vous pouvez utiliser le contenu "Données -" P>

Copier du contenu de votre page sur les données: data-text = "Online" fort> p>

Par exemple: p>

/* Select every cell containing "Online" */
span[data-text*="online"] {
  color: green;
}


3 commentaires

Il n'y a pas d'attribut texte dans le HTML.


Je sais, mais c'est une solution est nécessaire ajoutez cet Atribute. Juste avec CSS c'est un moyen unique


Il a donc besoin de localiser l'élément, d'ajouter l'attribut, puis de la localiser à nouveau?




0
votes

Vous ne pourrez pas localiser un élément par à l'aide du innertext IE contient ('string') . Vous pouvez trouver une discussion détaillée dans selenium.common.exceptions.InvalidSelectorException avec " SPAN: contient ('string') ".

Pour localiser un élément, vous pouvez utiliser l'un des deux des Stratégies de localisateur :

  • CSS_SLector 1: XXX

  • css_selector 2: XXX


0 commentaires