web-dev-qa-db-fra.com

Selenium Webdriver: Saisie de texte dans un champ de texte

Lorsque je saisis du texte dans le champ de texte, il est supprimé.

Voici le code:

String barcode="0000000047166";

WebElement element_enter = _driver.findElement(By.xpath("//*[@id='div-barcode']"));

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode");
26
Adnan Ghaffar

D'accord avec Subir Kumar Sao et Faiz.

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode);
30
Eshan Liyanagama

J'avais un cas où je saisissais du texte dans un champ, après quoi le texte serait automatiquement supprimé. En fait, cela était dû à certaines fonctionnalités du site où vous deviez appuyer sur la touche Entrée après avoir saisi le texte dans le champ. Ainsi, après avoir envoyé le texte du code à barres avec la méthode sendKeys, envoyez directement "entrée" après celle-ci. Notez que vous devrez importer la classe Selenium Keys. Voir mon code ci-dessous.

import org.openqa.Selenium.Keys;

String barcode="0000000047166";
WebElement element_enter = driver.findElement(By.xpath("//*[@id='div-barcode']"));
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode);

element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field

J'espère que ça aide ..

8
CODEBLACK

Utilisez ce code.

driver.FindElement(By.XPath(".//[@id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025");
4
user3364839

Il peut s'agir de la vérification JavaScript pour certaines conditions valides.
Deux choses que vous pouvez effectuer en fonction de vos besoins:

  1. soit rechercher la chaîne valide dans la zone de texte.
  2. ou définissez une boucle contre cette zone de texte pour entrer la valeur jusqu'à ce que vous publiiez le formulaire/la demande.
String barcode="0000000047166";

WebElement strLocator = driver.findElement(By.xpath("//*[@id='div-barcode']"));
strLocator.sendKeys(barcode);
1
Kumar