我正在尝试在包含默认字符串的文本字段中输入金额。
该字段的HTML:
<div class="InputGroup">
<span class="InputGroup-context">$</span>
<input autocomplete="off" class="Input InputGroup-input" id="amount" name="amount" type="text" maxlength="12" value="0.00">
</div>
当尝试在字段中输入文本时,它会替换为默认文本,而不是替换默认文本。
我尝试使用amount.clear()
(金额就是我所说的元素),但是在运行并发送密钥之后,它会引发以下异常:
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
从当前代码中您将看到,我也在尝试双击默认文本,但这无济于事。
这是我目前的代码:
ActionChains(driver).move_to_element(amount).click(amount).click(amount).perform()
amount.send_keys(Keys.BACKSPACE)
amount.send_keys('100')
当我期望100时,输入字段为0.00100。
答案 0 :(得分:0)
某些基于JS的Web应用程序可能无法正确清除输入字段。
您可以尝试使用Actions类来单击并完全清除一个字段。例如:
elem = driver.findElement(By.id("amount"))
actions.move_to_element(elem).click().build().perform()
actions.send_keys(Keys.BACKSPACE)
.send_keys(Keys.BACKSPACE)
.send_keys(Keys.BACKSPACE)
.send_keys(Keys.BACKSPACE).build().perform()