Comment résoudre erreur de délai dans selenium webdriver avec java?
Mon Html
<form id="load_form" class="ajaxsubmit" method="post" action="ajax.php">
<input type="hidden" value="register" name="action">
<h3>Registration Form</h3>
<img id="loader" width="20" height="20" style="display:none;" src="images/loader.gif">
<p id="alert"></p>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<label>Username:</label>
<input type="text" required="" name="username">
</fieldset>
Mon Code Java
WebDriverWait wait = new WebDriverWait(driver,30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='username']")));
element.sendKeys("john");
L'Obtention D'Erreur Ci-Dessous
Exception in thread "main" org.openqa.le sélénium.TimeoutException: Chronométré
après 30 secondes d'attente pour la visibilité de l'élément situé en
Par.xpath: //input[@name='nom d'utilisateur'] Construire info: version: '2.53.0',
version: '35ae25b', le temps: '2016-03-15 17:01:03'
De L'Aide? J'ai déjà essayé en augmentant attendre, mais ne fonctionne pas
Je pense que ce
Non ce n'est pas en vertu de l'Iframe ou une image.
Comment savez-vous qu'il n'est pas en vertu de l'Iframe ou une image???
Aller au navigateur de la console en appuyant sur
Car il y a d'autres zone de texte présents dans la même page et je suis en mesure d'insérer les valeurs en eux, mais pas dans le nom d'utilisateur et Mot de passe de domaine. Je pense qu'il peut être "display:none"
input
est à l'intérieur d'une iframe ou une image, s'il vous plaît vérifiez d'abord et laissez-moi savoir..Non ce n'est pas en vertu de l'Iframe ou une image.
Comment savez-vous qu'il n'est pas en vertu de l'Iframe ou une image???
Aller au navigateur de la console en appuyant sur
f12
et d'exécuter ces document.getElementsByTagName("frame")
et document.getElementsByTagName("iframe")
.. et laissez-moi savoir quel est le résultat pour les deux...Car il y a d'autres zone de texte présents dans la même page et je suis en mesure d'insérer les valeurs en eux, mais pas dans le nom d'utilisateur et Mot de passe de domaine. Je pense qu'il peut être "display:none"
OriginalL'auteur Ab123 | 2016-08-12
Vous devez vous connecter pour publier un commentaire.
Fait il y a deux
input
éléments présents avec le même nomusername
où l'on est caché et l'autre est visible et vous êtes à la transversalité avec d'abord un qui n'est pas visible sur la page, c'est pourquoi vous ne trouvez pas, essayez d'utilisercssSelector
comme ci-dessous :-En fait, c'est vrai que
cssSelector
est beaucoup plus rapide quexpath
, maisxpath
est aussi un puissant parce que de nombreux cascssSelector
ne fonctionne pas, maisxpath
fonctionne dans tous les cas...Non,//input[@name='username']
xpath localise deux élément, vérifiez à nouveau au navigateur de la console à l'aide de cette$x("//input[@name='username']")
..il renvoie à deux éléments, pas de problème avecxpath
, un problème avec la recherche de l'élément sélénium parce que le sélénium renvoie toujours le premier élément dans l'ordre si localisateurs de même pour plusieurs élément et, malheureusement, dans les éléments de commande invisible élément est d'abord..Si vous souhaitez utiliser
xpath
, vous pouvez utiliser//div[@id = 'load_box']//input[@name = 'username']
xpath, il retourne désir unique élément...:)merci pour vos précieux commentaires
Découvrez ceci : skptricks.com/2018/08/...
OriginalL'auteur Saurabh Gaur