如何使用selenium webdriver中的操作清除文本框

问题描述 投票:1回答:2

我在使用操作时遇到了清除文本框的问题。这是代码:

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

如何清除文本框?

selenium-webdriver action
2个回答
2
投票

您可以使用以下代码段,

Actions actions = new Actions(driver);

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

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

© www.soinside.com 2019 - 2024. All rights reserved.