第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

無法使用 Selenium WebDriver 清除自動輸入清晰和模糊文本的文本區(qū)域

無法使用 Selenium WebDriver 清除自動輸入清晰和模糊文本的文本區(qū)域

楊__羊羊 2022-06-04 17:24:15
我正在使用 Java 使用 Selenium WebDriver。我有一個(gè)文本區(qū)域,我想清除默認(rèn)內(nèi)容并在其中輸入新內(nèi)容。功能是這樣的,如果我從 textarea 中清除文本并點(diǎn)擊 Tab 按鈕,那么默認(rèn)文本將自動填充。下面是textarea的HTML:<textarea autocomplete="off" class="form-control rd-control rd-control--textarea empty" cols="20" data-bind="value: offerTitle, expandedTextArea: offerTitle, valueUpdate: 'afterkeydown', customerRequiredFieldsBinding" id="CheckoutWelcomeTitle" name="CheckoutWelcomeTitle" placeholder="ex. Here comes the best offer" rows="1" type="text" data-autosize-on="true" style="overflow-y: hidden; height: 35.9792px;" onblur="setTextColorDefault(this)" oninput="setTextColor(this)">Let's bid on a discount code!</textarea>我嘗試使用:driver.findElement(By.id("CheckoutWelcomeTitle")).clear()但這沒有用。我也試過這個(gè):driver.findElement(By.id("CheckoutWelcomeTitle")).sendKeys(Keys.CONTROL + "a") driver.findElement(By.id("CheckoutWelcomeTitle")).sendKeys(Keys.DELETE)這有時(shí)有效,但并非總是如此。有時(shí)它會清除數(shù)據(jù)并重新填充默認(rèn)文本。有沒有其他方法可以清除這個(gè)文本區(qū)域,每次都能正常工作?如果有幫助,開發(fā)人員已經(jīng)使用 JavaScript 在模糊事件上重新填充文本框。編輯:我已經(jīng)使用顯式等待元素的條件是可點(diǎn)擊的。
查看完整描述

3 回答

?
MYYA

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=''");


查看完整回答
反對 回復(fù) 2022-06-04
?
慕少森

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的陳舊元素。


查看完整回答
反對 回復(fù) 2022-06-04
?
慕斯709654

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


查看完整回答
反對 回復(fù) 2022-06-04
  • 3 回答
  • 0 關(guān)注
  • 309 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號