[英]sendKeys is NOT working for input text box with SLIDER, but it works for CLEAR the input field ( selenium java )
请在这里帮助我,我必须在抵押金额输入字段中输入。 实际上,输入文本字段与 slider 相关联。 但我适用于清除输入字段,不适用于 SENDKEYS。 与 slider、SENDKEYS 无关的输入字段也可以正常工作。
例如,
@FindBy(xpath = "//*[contains(text(),'Mortgage Amount')]/following::input[@id='name'][1]")
public WebElement mortageAmountInput;
mortageAmountInput.clear(); -> It works for clearing the input text field
mortageAmountInput.sendKeys("300000"); -> It is not working for clearing the input text field
这是我面临这个问题的网页: https://www.coastcapitalsavings.com/calculators/mortgage-calculator
供您参考, https://calculator.coastcapitalsavings.com/ITSCredit.External/CCS/ITSCredit.CCS.UI.External/calculator/MT此页面在主页框架内 --> https://www.coastcapital .com/calculators/mortgage-calculator 。
下面是 HTML:
<div class="custom-slider" id="slider-container">
<div class="row">
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-8">
<span class="generic-title">Mortgage Amount</span>
<!----><span class="info-tooltip ng-star-inserted" data-balloon="The total amount of the mortgage."></span>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-4">
<input onlynumber="true" id="name" type="text" class="ng-valid ng-dirty ng-touched">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div id="slider-distance" slider="">
<div>
<div inverse="" style="width: 96.5966%;"></div>
<div range="" style="width: 3.4034%;"></div>
<div thumb="" style="left: 3.32039%;"></div>
<div sign="" style="left: 3.4034%;">
<span id="value">3.4034034034034035</span>
</div>
</div>
<input tabindex="0" type="range" min="10000" max="10000000" step="1" data-slider-id="sliderMortgageAmount" id="sliderMortgageAmount" data-tryxpath-element="0">
</div>
</div>
</div>
</div>
如果您不能“SendKeys”,请尝试“SetValue”:
(JavascriptExecutor)driver.executeScript("arguments[0].value='300000';", mortageAmountInput);
我使用了 Action class 并且能够清除和更改值。 我希望你在任何行动之前切换框架。
driver.switchTo().frame("ifrm_13536");
选项 1 代码片段
Actions action = new Actions(driver);
action.moveToElement(mortageAmountInput).doubleClick()
.sendKeys(Keys.DELETE)
.sendKeys("5000")
.build().perform();
选项 2-在我的情况下。清除 function 不起作用,而 sendkeys 是
mortageAmountInput.sendKeys(Keys.BACK_SPACE);
mortageAmountInput.sendKeys(Keys.BACK_SPACE);
mortageAmountInput.sendKeys("5000");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.