1

Je suit la structure HTML:Sélénium FirefoxDriver renvoie la valeur erronée du texte de l'élément

<label for="corp_type_label" id="Type_label"> 
    <div class="ms-crm-div-NotVisible">Type</div> 
    -- 
    <div class="ms-crm-Inline-GradientMask"></div> 
</label> 

Lorsque je tente d'obtenir un texte d'étiquette par le pilote Chrome en suivant sélecteur CSS By.CssSelector("#Type_label") je reçois -- valeur comme prévu.

Mais si j'utilise le même sélecteur et utilise FirefoxDriver, il renvoie Type\r\n--.

FirefoxDriver:

WebDriverManager.Driver.FindElement(By.CssSelector("#Type_label")).Text; 
"Type\r\n--" 

ChromeDriver:

WebDriverManager.Driver.FindElement(By.CssSelector("#Type_label")).Text; 
"--" 

J'utilise 2,33 ChromeDriver et GeckoDriver 0,18.

Pourquoi le même sélecteur renvoie-t-il des valeurs différentes du même HTML?

Mise à jour: La description est mise à jour pour simplifier la définition du problème.

+0

La structure HTML pour Firefox est légèrement différent pour Firefox que dans Chrome. La question doit être fermée car obsolète – algot

Répondre

1

En utilisant XPath suivant je reçois votre élément. Pouvez-vous s'il vous plaît vérifier le code suivant?

WebDriverManager.Driver.FindElement(By.xpath("//*[@id='Type_label']")).Text(); 
+0

Le problème n'est pas réellement dans le sélecteur. Le problème est dans la propriété Text de IWebElement. La propriété Text du même élément renvoie des valeurs différentes dans différents navigateurs. – algot

0

Je pense que vous avez fait erreur ici:

WebDriverManager.Driver.FindElement(By.CssSelector("#corp_type label")).Text 

Vous devez faire ce qui suit ici pour obtenir l'étiquette d'élément:

WebDriverManager.Driver.FindElement(By.CssSelector("#Type_label")).Text 
+0

Merci pour la réponse. Mais j'utilise une telle approche avec l'identifiant de l'élément parent pour obtenir du texte pour tout élément parent qui contient une telle recherche, par ex. 'GetLabel (IWebElement el) {return el.FindElement (By.CssSelector (" label ")). Texte;}' – algot

+0

@algot, donc c'est réglé votre problème? –

+0

@algot, le code est en fonction de votre code HTML. –