如何使用sendKeys(Keys.TAB)+ sendKeys(“ text”)与我们联系表格

时间:2019-06-16 19:18:11

标签: java selenium-webdriver

如何使用命令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中存在用于在焦点字段中键入文本的命令?我找不到

1 个答案:

答案 0 :(得分:0)

您必须使用Selenium的Action类并创建一系列要使用的动作标签。 也可以通过单击选项卡手动尝试所有步骤。有时分页不适用于网页。