如何使用Selenium WebDriver中的操作清除文本框

时间:2018-09-11 07:47:15

标签: selenium-webdriver action

使用操作时,我面临清除文本框的问题。 这是代码:

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

如何清除文本框?

2 个答案:

答案 0 :(得分:1)

为什么需要使用动作?

您可以使用:

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

答案 1 :(得分:0)

您可以使用以下代码段

Actions actions = new Actions(driver);

actions.click(driver.findElement(element)
    .keyDown(Keys.CONTROL)
    .sendKeys("a")
    .keyUp(Keys.CONTROL)
    .sendKeys(Keys.BACK_SPACE)
    .build()
    .perform();