6
votes

Est-il possible d'obtenir le frère suivant à l'aide de CSSContainingText de STROCOR

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 commentaires

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.


3 Réponses :


0
votes

Vous pouvez utiliser le sélecteur nœud.nextsibling. Découvrez ce Article


0 commentaires

10
votes

Et si vous le recevrez en une aller à l'aide de by.xpath ( ) : xxx

ou, vous pouvez le combiner avec csscontainingtext () : xxx


8 commentaires

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")]



0
votes

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'));


0 commentaires