我在使用操作时遇到了清除文本框的问题。这是代码:
for (int j = 1; j <= TotalCount; j++) {
//driver.findElement(By.xpath("(//div[@class='fourcolumns']//div//label)[" + j + "]")).sendKeys("Test");
WebElement CustomfieldsTextBox = driver.findElement(By.xpath("(//div[@class='fourcolumns']//div//textarea)[" + j + "]"));
action.moveToElement(CustomfieldsTextBox);
action.click();
action.sendKeys("Testing");
action.build().perform();
}
如何清除文本框?
您可以使用以下代码段,
Actions actions = new Actions(driver);
actions.click(driver.findElement(element)
.keyDown(Keys.CONTROL)
.sendKeys("a")
.keyUp(Keys.CONTROL)
.sendKeys(Keys.BACK_SPACE)
.build()
.perform();
为什么需要使用动作?
您可以使用:
for (int j = 1; j <= TotalCount; j++) {
WebElement CustomfieldsTextBox = driver.findElement(By.xpath("(//div[@class='fourcolumns']//div//textarea)[" + j + "]"));
CustomfieldsTextBox.clear();
CustomfieldsTextBox.sendKeys("Testing");
}
或者js:
driver.executeScript("document.getElementByXpath('(//div[@class='fourcolumns']//div//textarea)[" + j + "]")').setAttribute('value', 'Testing')");
否则使用操作可以尝试发送密钥以删除内容,例如:选择文本CTRL + A,然后选择DELETE / BACKSPACE