2016-09-01 4 views
-1

J'automatise l'application web en utilisant selenium webdriver et `C#. Maintenant, je suis pris au piège dans une situation où je dois effectuer des étapes ci-dessous:Comment vérifier 'texte de saut de ligne' dans 'textarea' présent sur la fenêtre Frame à l'aide de selenium webdriver C#

  1. Entrez le texte dans Textarea qui fait partie de frame - Ce texte est unique en ligne.
  2. Ensuite, déplacer le curseur de la souris à la maison et appuyez sur Shift+Enter
  3. Puis une pause de ligne sont ajoutés dans textarea qui ressemble à des images attachées
  4. Vérifiez texte avec une pause liner, vérification de texte comprend saut de ligne et DOM objet ressemble comme ci-dessous

    <html> 
    <body> 
        <br> 
        This is single line text 
    </body> 
    </html> 
    

Pour contourner ce problème, j'ai essayé By Créer Xpath comme celui-ci //html/body

Il me donne texte comme:

This is single line text but not able to verify there is line break or br tag also

Je suis commutateur capable de frame et en mesure d'obtenir le texte de celle-ci mais la vérification ici ressemblerais - br devraient être vérifiées et si changé xpath à aimer //html/body/br il thorws exception

toute personne a avoir une idée sur la façon de vérifier saut de ligne dans la zone de texte ou comment vérifier le texte dans //iframe//html/body/br t ext.

J'ai aussi essayé de vérifier le texte du Driver.pagesource mais le texte dans le texte source ressemble ci-dessous

\r\n\t  
<textarea id=\"ctl00_ContentPlaceHolder_ClientLetterRichTextBox\" 
name=\"ctl00_ContentPlaceHolder_ClientLetterRichTextBox\" 
style=\"padding: 0px; width:600px; height: 330px;\" 
class=\"ctl00_ContentPlaceHolder_ClientLetterRichTextBox_HtmlBox\"> 
This is a test of the Single Line break</textarea>\r\n\t</div>\r\n\t 

enter image description here

+0

Je ne sais pas ce que je veux dire. Voulez-vous le texte de textarea, y compris 'br' tag ?? –

+0

Ou sans étiquette 'br' ?? –

+0

Oui, nous pouvons obtenir du texte, mais ne peut pas obtenir le texte avec
tag. Et je dois vérifier le texte avec
tag – simond

Répondre

0

Si vous souhaitez obtenir <br> avec le texte, vous devriez essayer d'utiliser GetAttribute('innerHTML'), il Renvoyer le texte avec l'étiquette HTML à l'intérieur d'un élément comme ci-dessous: -

Driver.SwitchTo().Frame("iframe id"); 

string innerHTML = Driver.FindElment(By.XPath("//html/body")).GetAttribute("innerHTML"); 
+0

Innerhtml retournant le texte quelque chose comme ceci -lass = \ "ctl00_ContentPlaceHolder_ClientLetterRichTextBox_HtmlBox \"> Ceci est un test de la ligne unique

mais il ne retourne pas le texte avec la balise br – simond

+0

Ensuite vous devez localiser à travers 'textarea' au lieu de' body' et ensuite utiliser '.GetAttribute (" innerHTML ");' .. –

+0

En fait, '.GetAttribute (" innerHTML ")' retourne tout le code interne html à l'intérieur de l'élément localisé, donc si ' textarea' aussi à l'intérieur, '.GetAttribute (" innerHTML ")' retournera avec 'textarea' aussi, donc vous devez trouver l'élément le plus proche, c'est pourquoi vous ne pouvez obtenir que du texte avec la balise' br' .. :) –