我想在日历框中发送密钥,但该框中有一个默认值
我试图在sendKeys之前清除它,但是它不起作用
我的代码:
Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.xpath("//*[@id='dateOfBirth']")));
actions.click();
actions. clear();
Thread.sleep(3000);
actions.sendKeys("07-12-2018");
actions.sendKeys(Keys.TAB);
actions.build().perform();
请帮助我清除框
HTML代码:
<input type="text" value="07-14-1993" id="dateOfBirth" class="react-datepicker-ignore-onclickoutside">
答案 0 :(得分:0)
您可以尝试代替Actions
:
WebElement input = driver.findElement(By.xpath("//*[@id='dateOfBirth']"));
input.click();
input.clear();
input.sendKeys("07-12-2018");
input.sendKeys(Keys.TAB); // I don't know why you need TAB, but since you have it in your code
或
Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.xpath("//*[@id='dateOfBirth']")));
actions.click();
actions.build().perform();
WebElement input = driver.findElement(By.xpath("//*[@id='dateOfBirth']"));
input.clear();
input.sendKeys("07-12-2018");
input.sendKeys(Keys.TAB);
或
Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.xpath("//*[@id='dateOfBirth']")));
actions.click();
actions.sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE).sendKeys(Keys.BACK_SPACE);
Thread.sleep(3000);
actions.sendKeys("07-12-2018");
actions.sendKeys(Keys.TAB);
actions.build().perform();
或使用JavaScript:
WebElement input = driver.findElement(By.xpath("//*[@id='dateOfBirth']"));
JavascriptExecutor js=(JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute(value, '07-12-2018')", input);