如何使用命令sendKeys(Keys.TAB)
和sendKeys("text")
填写一栏中的几个字段。
例如:
页面底部的“与我们联系”表单中有3个字段:
我已将页面滚动到“名称”字段,并填写了“名称” TAB,并想使用sendKeys(Keys.TAB)
在下一个字段(电子邮件)中填写其他文本
我就是这样尝试的:
WebElement element = driver.findElement(By.cssSelector("#contact > div > div.main > div.form-block"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
WebElement webElement = driver.findElement(By.xpath("//*[@id=\"edit-submitted-name\"]"));
webElement.sendKeys("Name");
webElement.sendKeys(Keys.TAB);
webElement.sendKeys("email");
webElement.sendKeys(Keys.TAB);
webElement.sendKeys("Message");
但是它填充了第一个字段中的所有文本,因为webElement移到了第一个字段(“名称”)。
我知道,我可以使用driver.FindElement(By.xpath(## next field ##)).sendKeys("text");
但是我需要完全使用TAB按钮进行测试。
也许在Java中存在用于在焦点字段中键入文本的命令?我找不到
答案 0 :(得分:0)
您必须使用Selenium的Action类并创建一系列要使用的动作标签。 也可以通过单击选项卡手动尝试所有步骤。有时分页不适用于网页。