Obtenir du texte de survol avec selenium en java
J'essaie de comprendre comment obtenir le texte de disponibilité du produit à partir d'une page comme http://www.walmart.com/browse/TV-Video/TVs/_/N-96v3? (une fois qu'un magasin a été sélectionné) J'ai sélectionné 76574 comme code postal et je suis allé dans l'onglet "Dans mon magasin"
Le code que j'ai maintenant est
WebElement hoverElement = driver.findElement(By.xpath(".//*[@id='Body_15992428']/span"));
WebElement hidden = driver.findElement(By.xpath(".//*[@id='slapInfo_NoVariant_15992428']/div"));
Actions builder = new Actions(driver);
builder.clickAndHold(hoverElement).build().perform();
System.out.println(hidden.getText());
**Edit: J'ai essayé profile.setEnableNativeEvents(false);
et le texte est maintenant affiché dans la fenêtre du navigateur automatisé. Je ne peux toujours pas obtenir le texte que je veux cependant. Il ne lève pas d'exception, n'affiche rien parce que le conducteur pense que c'est encore caché. Tout savoir comment résoudre ce problème?
Je continue à obtenir
Exception in thread "main" org.openqa.selenium.InvalidElementStateException: Cannot perform native interaction: Could not load native events component.
Même après que je le fasse
profile.setEnableNativeEvents(true);
, y a d'autres façons d'obtenir le texte caché, ou ce que je fais de mal?
De plus, pendant que j'inspectais le code avec firebug, j'ai vu qu'il y avait ce code
<script type="text/javascript"> WALMART.$(document).ready(function(){ WALMART.$('#Body_15992428').hover(function(){ WALMART.$('#SeeStoreAvailBubble').wmBubble('update',WALMART.$('#bubbleMsgUpdate_15992428').html()); }); }); </script>
Je ne sais pas vraiment comment faire les choses directement avec javascript mais existe-t-il un moyen d'obtenir le texte du message directement à partir de cela avec un exécuteur javascript?
1 answers
La seule façon d'obtenir le texte de survol d'un objet dans la page est d'utiliser:
webdriver.getattribute("Htmltag","alt text" );
Veuillez me crier si vous avez besoin d'aide à ce sujet.