web-dev-qa-db-fra.com

sendKeys () dans le pilote Web Selenium

Je suis nouveau pour Sélénium. Je veux simplement envoyer des clés à une zone de texte de nom d'utilisateur et envoyer une touche de tabulation à la fois afin que cette zone de texte puisse vérifier la disponibilité du nom d'utilisateur.

Voici le code:

 driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys("UserName");
 driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys(Keys.TAB);

Mais celui-ci ne fonctionne pas.

12
Niks

Je doute pour Keys.TAB dans sendKeys méthode ... si vous voulez utiliser TAB vous devez faire quelque chose comme ci-dessous:

Actions builder = new Actions(driver);
builder.keyDown(Keys.TAB).perform()
14
Paras

Il s'agit d'une commande sur une seule ligne pour envoyer la clé TAB;

driver.findElement(By.id("Enter_ID")).sendKeys("\t");
2
Babu

Je pense que Selenium utilise désormais Key.TAB au lieu de Keys.TAB.

0
NH.

Essayez ceci, cela fonctionnera sûrement:

driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys("UserName" + Keys.TAB);
0
Piyush Salodkar

Essayez celui-ci, puis importez le package:

import org.openqa.Selenium.Keys;

driver.findElement(By.xpath("//*[@id='username']")).sendKeys("username");

driver.findElement(By.xpath("//*[@id='username']")).sendKeys(Keys.TAB);

driver.findElement(By.xpath("//*[@id='Password']")).sendKeys("password");
0
varun kumar

Essayez d'utiliser la classe Robot dans Java pour appuyer sur la touche TAB. Utilisez le code ci-dessous.

driver.findElement(By.xpath("//label[text()='User Name:']/following::div/input")).sendKeys("UserName");

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
0
Hemanth

Essayez ce code:

WebElement userName = pathfinderdriver.switchTo().activeElement();
userName.sendKeys(Keys.TAB);
0
Shik