我是 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);
但是这个没有用。
请帮帮我。
答案 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”中选择“编译器符合级别:”到最新版本(可能是这样)。