Firebug identifié xpath ne fonctionne pas dans le protractor

Firebug a identifié le xpath ne fonctionnant pas dans le protractor. J’ai créé xpath avec firebug.Lorsque j’identifie le xpath à l’aide de l’IDE, il fonctionne correctement. nom.Ainsi, je ne peux utiliser que l’option xpath.

Veuillez trouver l’image ci-dessous pour référence. Ici, je dois vérifier si cet élément particulier contient le texte “Attractions IRCTC”.

Pourrais-tu m’aider s’il te plaît?

Code HTML:

//div style="width:100%;" class="g_hedtext">IRCTC Attractions /div 

OK, en regardant votre message d’erreur (dans le commentaire):

 Exception loading: SyntaxError: C:\Users\XXXX\AppData\Roaming\npm\TC_model2.js:7 var disclaimermessage = element(by.xpath('//[@id='disclaimer-message']')); ^^^^^^^^^^ Unexpected identifier 

(Je devine où les carets avant “identifiant inattendu” ont été alignés. Est-ce vrai?)

Le problème est que vous avez utilisé des guillemets simples à la fois pour délimiter la chaîne 'disclaimer-message' et pour délimiter toute l’expression XPath '//[@id='disclaimer-message']' . Ainsi, il apparaît à l’parsingur que votre expression XPath est le lien entre les deux premières guillemets simples: '//[@id=' , puis le disclaimer-message est un autre identificateur sans virgule ni autre opérateur pour montrer ce qu’il fait. Là.

La solution consiste à utiliser des guillemets doubles dans l’expression XPath. XPath accepte les guillemets simples ou doubles; il s’en fiche, tant que vous les associez les uns aux autres. Alors changez la ligne incriminée en

 var disclaimermessage = element(by.xpath('//[@id="disclaimer-message"]')); 

Et vous devriez être prêt à partir.

Pour référence future, cette question aurait été plus rapide et plus facile à répondre si vous nous aviez déjà parlé du message d’erreur.

Trouvez l’élément par le texte et affirmez qu’il est présent:

 var elm = element(by.xpath("//div[. = 'IRCTC Attractions']")); expect(browser.isElementPresent(elm)).toBe(true);