Java 如何清除文本框中的文本?
webdriver clear()未清除现有文本 我尝试了Java 如何清除文本框中的文本?,java,selenium-webdriver,xpath,css-selectors,webdriverwait,Java,Selenium Webdriver,Xpath,Css Selectors,Webdriverwait,webdriver clear()未清除现有文本 我尝试了clear()但它不起作用,所以尝试了.sendKeys(Keys.chord(Keys.CONTROL,“a”,Keys.BACK_SPACE)),但我的上级不想让我使用这些键。所以我不确定如何才能清除文本 元素的HTML: <input name="Quantity_110787" type="number" min="0" ng-model="invoiceLine.quantity" class="form-control
clear()
但它不起作用,所以尝试了.sendKeys(Keys.chord(Keys.CONTROL,“a”,Keys.BACK_SPACE))
,但我的上级不想让我使用这些键。所以我不确定如何才能清除文本
元素的HTML:
<input name="Quantity_110787" type="number" min="0" ng-model="invoiceLine.quantity" class="form-control ng-pristine ng-valid ng-not-empty ng-valid-min ng-touched" ng-keypress="$ctrl.preventKey($event)" aria-invalid="false">
我希望清除文本字段,以便输入新文本。请帮忙。试试这样做
driver.findElement("locator").clear();
试着这样做
driver.findElement("locator").clear();
这应该像“黑暗骑士”说的那样起作用
driver.findElement("locator").clear();
试着点击之前
driver.findElement("locator").click();
driver.findElement("locator").clear();
否则请尝试使用sendKeys
driver.findElement("locator").click();
driver.findElement("locator").sendKeys("");
否则请尝试JS:
WebElement wb = driver.findElement("locator");
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].value='';", wb);
谢谢,正如@Dark Knight所说的那样
driver.findElement("locator").clear();
试着点击之前
driver.findElement("locator").click();
driver.findElement("locator").clear();
否则请尝试使用sendKeys
driver.findElement("locator").click();
driver.findElement("locator").sendKeys("");
否则请尝试JS:
WebElement wb = driver.findElement("locator");
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].value='';", wb);
谢谢,所需的元素是一个元素,因此要调用clear()
方法,您需要引导WebDriverwait使该元素可单击,并且您可以使用以下任一解决方案:
:css选择器
WebElement elem = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.form-control.ng-pristine.ng-valid.ng-not-empty.ng-valid-min.ng-touched[type='number'][name^='Quantity_']"))); elem.click(); elem.clear();
:xpath
WebElement elem = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='form-control ng-pristine ng-valid ng-not-empty ng-valid-min ng-touched' and @type='number'][starts-with(@name, 'Quantity_')]"))); elem.click(); elem.clear();
clear()
方法,您需要引导WebDriverwait使该元素可单击,并且可以使用以下任一解决方案:
:css选择器
WebElement elem = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.form-control.ng-pristine.ng-valid.ng-not-empty.ng-valid-min.ng-touched[type='number'][name^='Quantity_']"))); elem.click(); elem.clear();
:xpath
WebElement elem = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='form-control ng-pristine ng-valid ng-not-empty ng-valid-min ng-touched' and @type='number'][starts-with(@name, 'Quantity_')]"))); elem.click(); elem.clear();