0
votes

Comment localiser et obtenir du texte à partir d'une info-bulle?

J'essaie de localiser une info-bulle dans un DIV, puis d'extraire le texte de l'info-bulle visible lorsque je fais la souris survolez sur l'info-bulle. Copier au-dessous de l'instantané de code à partir d'UI -

var tooltipElement = driver.FindElement(By.Id("tooltip-report-account-" + accountNumber));
Assert.AreEqual(tooltipElement.Text.ToLower().Trim(), 'This account is unavailable');


2 commentaires

Pourquoi ne pas stocker le numéro de compte dans le contexte et le récupérer. Pour autant que je me souvienne, l'info-bulle ne fonctionne que le survol de la souris. Avez-vous vérifié ce lien


localiser une info-bulle dans un div vraisemblablement le texte Indisponible semble être l'info-bulle, mais vous ne passez pas nécessairement la souris sur l'info-bulle et vous en avez besoin pour mettre à jour la question avec l'élément sur lequel vous devez Survoler la souris


3 Réponses :


0
votes

Je suppose que la chaîne Ce compte est est un préfixe dans la fonction javascript, pourquoi ne pas simplement comparer avec Indisponible qui est le texte du parent de cet identifiant d'élément.

var tooltipElement = driver.FindElement(By.XPath("//i[@id='tooltip-report-account-" + accountNumber + "']/parent::div"));
Assert.AreEqual(tooltipElement.Text.ToLower().Trim(), 'unavailable');


0 commentaires

0
votes

Vous devez d'abord effectuer le survol de la souris en utilisant la classe d'action, puis essayer de localiser l'élément qui affiche l'info-bulle

WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));
var element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(<element xpath>)));
Actions action = new Actions(Driver);
action.MoveToElement(element).Perform();   
//Waiting for the menu to be displayed    
System.Threading.Thread.Sleep(4000);


0 commentaires

0
votes

Si vous ne parvenez pas à trouver l'élément; alors peut-être que le localisateur utilisé a un problème. Essayez avec xpath ci-dessous pour une fois:

var tooltipElement = driver.FindElement(By.Xpath("//*[contains(@id,'tooltip-report-account')]"));


0 commentaires