3 回答

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用 Java Script 執(zhí)行器它應(yīng)該可以工作。
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("document.getElementById('CheckoutWelcomeTitle').value=''");

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
我認(rèn)為值得一提的是無需自定義腳本即可工作的解決方案;考慮到驅(qū)動程序和操作系統(tǒng)的所有可能排列,該問題的最新解決方案是:
private fun clearField(element: WebElement) {
element.sendKeys(Keys.chord(Keys.SHIFT, Keys.ARROW_UP), Keys.DELETE)
element.sendKeys(Keys.chord(Keys.CONTROL, "a"), Keys.DELETE)
element.clear()
}
對于 clear 并不總是有效的事實(shí),以及第一個(gè)在 mac 上工作而第二個(gè)在 windows 上工作的事實(shí),這是一個(gè)相當(dāng)多余的解決方案。
所有這三個(gè)組合也已經(jīng)在帶有驗(yàn)證和輸入掩碼的反應(yīng)應(yīng)用程序上進(jìn)行了測試。
要導(dǎo)入的命名空間是import org.openqa.selenium.Keys.
這是一個(gè)示例代碼,以避免您不應(yīng)該傳遞WebElements的陳舊元素。

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
所需元素是動態(tài)元素,因此要定位元素,您必須誘導(dǎo)WebDriverWait以使元素可點(diǎn)擊,并且您可以使用以下任一定位器策略:
cssSelector:
WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("textarea.form-control.rd-control.rd-control--textarea.empty#CheckoutWelcomeTitle")));
myElement.click();
myElement.clear();
xpath:
WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//textarea[@class='form-control rd-control rd-control--textarea empty' and @id='CheckoutWelcomeTitle']")));
myElement.click();
myElement.clear();
添加回答
舉報(bào)