est-il possible d'obtenir le prochain frère de front en utilisant by.csscontainingText ()
exemple: Le code HTML est comme ci-dessous: P>
element(by.cssContainingText('div.text-label','SomeText'))
3 Réponses :
Et si vous le recevrez en une aller à l'aide de ou, vous pouvez le combiner avec by.xpath ( ) code>
: csscontainingtext () code>: p>
Merci beaucoup Alexce. Cela a fonctionné comme magique :) Existe-t-il un lien qui contient tout ce genre de sélecteurs CSS suivants? Sinon, vous pouvez peut-être les énumérer ici. Cela rendra beaucoup la vie plus facile :)
@Saksheisingla heureux ça a fonctionné. Quant aux informations relatives aux axes XPath, voir, par exemple, DOCS DE DÉVELOPPORATION DE MOZILLA .
Je veux ajouter une recherche "texte" dans le XPath ci-dessous. Y a-t-il une possibilité? (Depuis son non-angulaire, le chaînage n'est pas pris en charge ici!) Browser.Driver.Findelements (by.xpath ('// * [@ @ ID = "Quelqu'un"] // tr / td [1]')); Quelque chose comme: navigateur.Driver.findelements (by.xpath ('// * [@ Id = "Certains-id"] // tr /td[1][.="someext"]'));
Browser.Driver.FindElement (by.xpath ('// * [@ @ ID = "SIZEID"] // TR / T D [1] / SOTE :: TD [. = "' donc me_text '"]') ) TRAVAILLÉ!!
C'est bon d'une manière :) Mais de toute façon, merci beaucoup pour vos réponses. Ceux qui aident vraiment beaucoup :)
Est-il possible d'obtenir un élément en sous-chaîne? Comme si un élément a du texte 'je suis ici'. Je veux faire correspondre seulement la sous-chaîne "ici". Quelque chose comme: by.xpath ('span [@ id = "id" et. * = "ICI"]') @ alecxe: est-il possible d'obtenir un élément en sous-chaîne?
Réalisé en utilisant ce qui suit: by.xpath ('// * [@ @ id = "id"] [texte () [contient (., "ICI")]]]]'
@Saksheisingla vous résolvez à nouveau par vous-même :) BTW, vous pouvez simplifier l'expression un peu: // * [@ ID = "ID" et contient (., "ICI")]
Utilisation des sélecteurs XPath n'est pas un meilleur choix car il ralentit le mécanisme de recherche de l'élément.
J'ai conçu un plugin pour résoudre ce problème spécifique: Protractor-CSS-Booster P>
Le plug-in fournit des localisateurs manifestes pour trouver des frères et sœurs de manière meilleure et surtout avec le sélecteur CSS . p>
Utilisation de ce plugin, vous pouvez utiliser directement: P>
var elem = element(by.cssContainingText('div.text-label','SomeText')).element(by.followingSibling('div'));
Besoin de voir la source HTML.
Question modifiée pour inclure le code!
Avez-vous essayé l'approche du nième enfant? Il suffit d'incrémenter le numéro enfant parent diviser pour obtenir l'élément suivant.