java - 无法使用 Selenium WebDriver 清除自动输入清晰和模糊文本的文本区域

标签 java selenium-webdriver xpath css-selectors webdriverwait

我正在使用 Java 的 Selenium WebDriver。 我有一个文本区域,我想清除默认内容并在其中输入新内容。功能是这样的,如果我从文本区域清除文本并点击选项卡按钮,则默认文本将自动填充。 下面是文本区域的 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()

但这没有用。
我也尝试过这个:

driver.findElement(By.id("CheckoutWelcomeTitle")).sendKeys(Keys.CONTROL + "a") 
driver.findElement(By.id("CheckoutWelcomeTitle")).sendKeys(Keys.DELETE)

这有时有效,但并非总是有效。有时它会清除数据并重新填充默认文本。

是否有其他方法可以每次都有效地清除此文本区域?

如果有帮助的话,开发人员已使用 JavaScript 在模糊事件上重新填充文本框。

编辑:我使用了显式等待元素的条件为可点击。

最佳答案

使用Java脚本执行器应该可以工作。

JavascriptExecutor executor = (JavascriptExecutor) driver;

executor.executeScript("document.getElementById('CheckoutWelcomeTitle').value=''");

关于java - 无法使用 Selenium WebDriver 清除自动输入清晰和模糊文本的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54533783/

相关文章:

java - Selenium- 异常而不是 boolean 值

java - selenium webdriver 中的 SocketException

python - 提取具有混合元素类型的表数据

java - java中的支持和服务方法是什么

java - 检测连接是否失败 - Java Android

Java 使用带引号的字符串常量

java - XPath通过类名查找子节点

java - 使用java环境将.sh文件转换为.bat文件

c# - 获取xml节点值

java - XPath 查询返回重复节点