selenium web驱动程序中的sendKeys()

时间:2013-10-09 09:50:30

标签: java selenium selenium-webdriver

我是 Selenium 的新手。我只想将密钥发送到用户名文本框并一次发送一个tab键,以便文本框可以检查用户名的可用性。

以下是代码:

 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);

但是这个没有用。

请帮帮我。

11 个答案:

答案 0 :(得分:10)

我对Keys.TAB方法中的sendKeys表示怀疑...如果您想使用TAB,则需要执行以下操作:

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

答案 1 :(得分:1)

试试这段代码:

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

答案 2 :(得分:1)

这是单行命令,可以预设“TAB按钮

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

答案 3 :(得分:0)

尝试在java中使用Robot类来按TAB键。使用以下代码。

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);

答案 4 :(得分:0)

试试这个,肯定会有效:

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

答案 5 :(得分:0)

我相信Selenium现在使用Key.TAB代替Keys.TAB

答案 6 :(得分:0)

尝试这个,然后导入包:

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");

答案 7 :(得分:0)

  

对于python硒,

导入库

from selenium.webdriver.common.keys import Keys

使用此代码可以按任意键,

Anyelement.send_keys(Keys.RETURN)

您可以通过搜索此selenium.webdriver.common.keys来找到所有键名。

答案 8 :(得分:0)

我发现创建一个变量来保存WebElement并调用sendKeys()对我来说很有效。

WebElement speedCurrentCell = driver.findElement(By.id("Speed_current"));
speedCurrentCell.sendKeys("1300");

答案 9 :(得分:-1)

List<WebElement>itemNames = wd.findElements(By.cssSelector("a strong")); 
System.out.println("No items in Catalog page: " + itemNames.size());
   for (WebElement itemName:itemNames)
    {  
       System.out.println(itemName.getText());
    }

答案 10 :(得分:-1)

最简单的解决方案是转到“构建路径”>“配置构建路径”>“ Java编译器”,然后从“ 1.4”中选择“编译器符合级别:”到最新版本(可能是这样)。